PostSharp NotifyPropertyChanged Model - PropertyChangedEventHandler

时间:2014-08-01 07:46:38

标签: wpf postsharp

我对INotifyPropertyChanged的PostSharp实施有疑问。 PostSharp在编译后添加了PropertyChangedEventHandler PropertyChanged,但我也需要从C#做出反应。

Model a = new Model();
a.PropertyChanged += a_PropertyChanged;

模型实施;

[NotifyPropertyChanged]
internal class Model
{
    public string A { get; set; }

    public string B { get; set; }

    public string C { get { return string.Format("{0} - {1}", A, B); } }
}

我尝试了不同的方法来添加处理程序,但没有成功。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

NotifyPropertyChanged修饰的类的实例可以在运行时转换为INotifyPropertyChanged

((INotifyPropertyChanged)a).PropertyChanged

有一个帮助方法Post.Cast可以避免"可疑演员"警告:

Post.Cast<Model, INotifyPropertyChanged>(a).PropertyChanged += OnPropertyChanged;