簡體   English   中英

使用屬性引發事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM