[英]Using an Attribute to raise an event
我有一些代碼想簡化。 這是代碼:
private int id;
public int Id
{
get { return id; }
set
{
id = value;
base.OnPropertyChanged("Id");
}
}
我在想使用一個屬性只能得到:
[RaiseOnPropertyChanged()]
public int Id { get; set; }
那怎么辦? 還是可以使用屬性來完成?
las,您不能在C#本身的范圍內這樣做; 您需要在IL級別上進行操作才能獲得所需的結果。 但是,您可以使用PostSharp提供的面向方面的技術來獲得所需的結果。
您探索的最佳選擇是使用諸如PostSharp之類的框架進行面向方面的編程。
PostSharp將允許您定義在編譯期間將被代碼模板“清除”的屬性。 他們的站點上有幾個示例,而即將發布的主要版本將極大地簡化針對此類場景的工具的使用。
您可以使用PostSharp動態地實現INotifyPropertyChanged接口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.