簡化了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中文網其他相關文章!