设置属性时执行某些操作

时间:2011-05-05 11:50:16

标签: c# .net

想象一下:

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);

设置属性时。

这可能没有摆脱自动属性吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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