我最近開始嘗試使用PostSharp,並且發現了一個特別有用的方面來自動執行INotifyPropertyChanged。您可以看到示例here。基本功能非常好(所有屬性都會通知),但有些情況下我可能想要禁止通知。例如,我可能知道某個特定屬性在構造函數中設置了一次,並且不會再發生變化。因此,不需要發出NotifyPropertyChanged的代碼。當類不經常實例化時,開銷很小,我可以通過從自動生成的屬性切換到字段支持的屬性並寫入字段來防止出現問題。但是,當我學習這個新工具時,知道是否有一種方法來標記具有屬性的屬性來抑制代碼生成會很有幫助。我希望能夠做這樣的事情:抑制具有屬性的PostSharp多播
[NotifyPropertyChanged]
public class MyClass
{
public double SomeValue { get; set; }
public double ModifiedValue { get; private set; }
[SuppressNotify]
public double OnlySetOnce { get; private set; }
public MyClass()
{
OnlySetOnce = 1.0;
}
}
非常好,謝謝。這是一個非常強大的工具,我的項目感覺非常乾淨,沒有所有繁瑣的INotifyPropertyChanged管道工程。 – 2010-03-07 18:57:11