简化了C#
中的InotifyPropertychanged实现>INotifyPropertyChanged
对于数据绑定和属性变化通知至关重要,但是手动实现可能很麻烦。 虽然简化的语法是理想的选择,但它并未内置在C#中。 让我们探索简化过程的方法。{get; set; notify;}
>
方法的基类:SetField
<code class="language-csharp">public class Data : INotifyPropertyChanged { protected virtual void OnPropertyChanged(string propertyName); protected bool SetField<T>(ref T field, T value, string propertyName); public string Name { get { return name; } set { SetField(ref name, value, "Name"); } } // ... other properties }</code>属性进一步简化了以下简化:
CallerMemberName
<code class="language-csharp">protected bool SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = null); public string Name { get { return name; } set { SetField(ref name, value); } }</code>
>自动代码生成
要进行完整的自动化,请考虑之类的工具。 在需要外部依赖性的同时,它消除了手动
的事件完全升高。 对于大型项目来说,这是一个有力的选择。 手动优化(使用基类)和自动代码生成之间的选择取决于项目大小和对外部依赖性的偏好。以上是简化InotifyPropertychanged:是否有比手动实现更容易的方法?的详细内容。更多信息请关注PHP中文网其他相关文章!