【问题标题】:Do something when a property is set设置属性时做某事
【发布时间】:2011-05-05 11:50:15
【问题描述】:

想象一下:

public class Foo
{
    private IList<string> WasSet;

    public string Prop1 {get;set;}
    public bool Prop2 {get;set;}
...
    public int Prop900 {get;set;}
}

我想做:

WasSet.Add(PropertyName);

设置属性时。

在不去掉自动属性的情况下这可能吗?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    您无法使用自动属性执行此操作,因为编译器正在为您生成适当的支持字段和访问器。您需要自己编写属性并处理 set 功能来更新您的列表。

    【讨论】:

      【解决方案2】:

      不 - 自动属性始终只是由简单字段支持的琐碎实现,没有“触发器”等。您必须编写完整的属性。您可能希望实现 INotifyPropertyChanged 以使其更通用。

      【讨论】:

        猜你喜欢
        • 2022-09-23
        • 2020-01-18
        • 2012-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多