从 Stackoverflow 中,我挑选了一些有用的代码来从我的应用程序中删除魔术字符串。代码如下所示:
protected void OnPropertyChanged<T>(Expression<Func<T>> selectorExpression) { }
该方法由以下方式调用:
this.OnPropertyChanged( () => DisplayName);
DisplayName
(类的属性在哪里。)
使用这种形式的方法真的很有用(我喜欢它很容易重构),但我真的不明白它在做什么。
在哪里T
赋值,取什么值?智能感知如何获取类具有哪些属性(T
从调用方法的上下文中隐式设置?)
表达式是() => DisplayName
在编译时固定的,还是每次调用方法时计算的?相关:使用魔术字符串更有效吗?