wpf - What is [NotifyPropertyChangedInvocator] in C# when implements INotifyPropertyChanged? -
मुझे दूसरे संस्करण में आप देखें कि एक अतिरिक्त विशेषता मेरे मामले में दोनों एक ही व्यवहार करते हैं, लेकिन यह, क्या और कब यह एक रिशेर विशेषता है उनके - आपको चेतावनी देने के लिए डिज़ाइन किया गया तो आपका कोड संदिग्ध लग रहा है :) इस पर विचार करें: [NotifyPropertyChangedInvocator] विशेषता के साथ सूचित करें ("अंतिम नाम"); // & lt; - चेतावनी यहाँ} कोड> विधि रिचार्पर आपको एक चेतावनी देगा , आप विधि (विधिवत रूप से) के साथ गलत मूल्य के साथ प्रयोग कर रहे हैं। INotifyPropertyChanged
सार्वजनिक अमूर्त वर्ग देखेंमॉडेलबेस: INotifyPropertyChanged {सार्वजनिक इवेंट संपत्तिसभुगतित्तएवेंटहैंडलर संपत्ति परिवर्तित; संरक्षित आभासी शून्य OnPropertyChanged ([CallerMemberName] स्ट्रिंग propertyName = null) {PropertyChangedEventHandler हैंडलर = PropertyChanged; अगर (हैंडलर! = नल) {हैंडलर (यह, नया प्रॉपर्टी चेंजेड ईवेंटअर्ज (गुणनाम)); दूसरा}:
सार्वजनिक अमूर्त वर्ग ViewModelBase: INotifyPropertyChanged {सार्वजनिक ईवेंट PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] संरक्षित आभासी शून्य OnPropertyChanged ([CallerMemberName] स्ट्रिंग propertyName = null) {PropertyChangedEventHandler हैंडलर = संपत्ति परिवर्तित; अगर (हैंडलर! = नल) {हैंडलर (यह, नया प्रॉपर्टी चेंजेड ईवेंटअर्ज (गुणनाम)); }}}
[NotifyPropertyChangedInvocator] विधि पर
OnPropertyChanged < / कोड>
[NotifyPropertyChangedInvocator] का उपयोग करने के लिए, इसका लाभ क्या है? मैंने इंटरनेट पर खोज की है, लेकिन कोई भी अच्छा जवाब नहीं मिल पाया।
सार्वजनिक वर्ग फू: INotifyPropertyChanged {सार्वजनिक ईवेंट PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] संरक्षित आभासी शून्य NotifyChanged (स्ट्रिंग propertyName) {...} निजी स्ट्रिंग _name; सार्वजनिक स्ट्रिंग नाम {get {return _name; } सेट {_name = value;
क्योंकि Resharper अब जानता है कि कि विधि को अधिसूचना बदलने के लिए कहा जाना चाहिए, यह आपको सामान्य गुणों को अधिसूचना के साथ गुणों में बदलने में मदद करेगा:
इसे इस रूप में रूपांतरित करें:
सार्वजनिक स्ट्रिंग नाम {get {return _name; } सेट {if (value == _name) return; _name = मान; NotifyChange ( "नाम"); }}
यह उदाहरण [NotifyPropertyChangedInvocator] विशेषता पर पाया गया है:
Comments
Post a Comment