PostSharp NotifyPropertyChanged 模型 - PropertyChangedEventHandler

3

我在使用PostSharp实现INotifyPropertyChanged时遇到一点小问题。PostSharp会在编译后添加PropertyChangedEventHandlerPropertyChanged,但我也需要从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个回答

1

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

((INotifyPropertyChanged)a).PropertyChanged

有一个帮助方法Post.Cast可以避免"可疑强制转换"警告:

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

谢谢大家,我不知道我怎么会这么糊涂而错过它! - Peter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接