gpt4 book ai didi

c# - 使用反射获取 INotifyPropertyChanged 通知的属性的实际值?

转载 作者:太空狗 更新时间:2023-10-29 19:52:59 26 4
gpt4 key购买 nike

我正在开发一个项目,该项目将使用 INotifyPropertyChanged 来通知订阅者类的属性更改。

void item_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "Quantity")
....

在我看来,当订阅类收到通知时,它唯一可以获得的值是属性的名称。有没有办法获取具有属性更改的实际对象的引用?然后我可以从引用中获取这个属性的新值。也许使用反射?

有人介意写一段代码来帮助我吗?非常感谢。

最佳答案

实际对象是sender(至少,它应该是):

void item_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
var propertyValue = sender.GetType().GetProperty(e.PropertyName).GetValue(sender);
}

如果您关心性能,则缓存 sender.GetType().GetProperty(e.PropertyName) 结果。

关于c# - 使用反射获取 INotifyPropertyChanged 通知的属性的实际值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20770173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com