【发布时间】:2011-06-29 06:26:58
【问题描述】:
如何重构方法
private void ListenToPropertyChangedEvent(INotifyPropertyChanged source,
string propertyName)
{
source.PropertyChanged += (o, e) =>
{
if (e.PropertyName == propertyName)
MyMagicMethod();
};
}
如果我想避免在这里使用匿名方法?
【问题讨论】:
-
这里的诀窍不是匿名方法——它是使用的闭包。想到的唯一另一种方法是创建一个新对象,该对象实现
PropertyName变量/属性或类似的以及OnPropertyChanged事件处理程序并将其连接起来...... ick。 -
@pst:感谢您的评论。我想我对这里的内部结构仍然有些模糊。现在阅读csharpindepth.com/Articles/Chapter5/Closures.aspx。 =)
标签: c# anonymous-methods