मैंने हाल ही में पोस्टशर्प के साथ प्रयोग करना शुरू कर दिया है और मुझे INotifyPropertyChanged के कार्यान्वयन को स्वचालित करने के लिए एक विशेष रूप से सहायक पहलू मिला है। आप उदाहरण here देख सकते हैं। मूल कार्यक्षमता उत्कृष्ट है (सभी गुणों को अधिसूचित किया जाएगा), लेकिन ऐसे मामले हैं जहां मैं अधिसूचना को दबा सकता हूं।विशेषता के साथ पोस्टशर्प मल्टीकास्ट को दबाकर
उदाहरण के लिए, मुझे पता चलेगा कि एक विशेष संपत्ति कन्स्ट्रक्टर में एक बार सेट की जाती है और फिर कभी नहीं बदलेगी। इस प्रकार, NotifyPropertyChanged के लिए कोड को उत्सर्जित करने की कोई आवश्यकता नहीं है। ओवरहेड न्यूनतम होता है जब कक्षाओं को अक्सर तत्काल नहीं किया जाता है और मैं स्वचालित रूप से जेनरेट की गई संपत्ति से क्षेत्र-समर्थित संपत्ति में स्विच करके और क्षेत्र में लिखकर समस्या को रोक सकता हूं। हालांकि, जैसा कि मैं इस नए उपकरण को सीख रहा हूं, यह जानना उपयोगी होगा कि कोड पीढ़ी को दबाने के लिए किसी विशेषता के साथ संपत्ति को टैग करने का कोई तरीका है या नहीं। मैं इस तरह कुछ करने के लिए सक्षम होने के लिए करना चाहते हैं:
[NotifyPropertyChanged]
public class MyClass
{
public double SomeValue { get; set; }
public double ModifiedValue { get; private set; }
[SuppressNotify]
public double OnlySetOnce { get; private set; }
public MyClass()
{
OnlySetOnce = 1.0;
}
}
उत्कृष्ट, धन्यवाद। यह एक बहुत ही शक्तिशाली उपकरण है और मेरी परियोजना सभी थकाऊ INotifyPropertyChanged नलसाजी के बिना काफी साफ महसूस करता है। –