【发布时间】:2013-07-19 01:10:25
【问题描述】:
这是一个非常简单的问题,但我想知道是否有人可以解释第 4 行实际上在做什么?所以第一行给处理程序一个事件。我真的不知道在什么情况下 handler 会返回 null 或者最后一行做什么。
当您向处理程序传递您的对象以及更改了哪个属性时,它对它们做了什么?
PropertyChangedEventHandler handler = PropertyChanged; //property changed is the event
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
我假设我用它来获取这个code,但我想完全了解它在做什么。
【问题讨论】:
-
没有上下文很难说。你用的是什么框架?这不是 BCL 的一部分,它可能是您正在检查/使用的一些 MVVM 框架。
-
这对
PropertyChangedEventHandler来说并没有什么特别之处。这就是处理程序的工作方式。 -
Will 的评论毫无意义。这被标记为 WPF。 PropertyChangedEventHandler 在 System.ComponentModel 中。没有 MVVM 框架之类的东西——MVVM 是一种对 WPF 有用但不是必需的架构模式。无论如何,这个问题是关于事件处理程序如何在 C# 中工作的,答案并不特定于任何特定的事件或框架。
-
“第一行给处理程序一个事件”——不,它声明了一个变量
handler,并用PropertyChanged的值初始化它……这可能是空的。
标签: c# wpf events propertychanged