कस्टम विशेषताएँ जिनका उपयोग घोषणात्मक जानकारी को संग्रहीत करने के लिए किया जा सकता है और जिन्हें रन-टाइम पर पुनर्प्राप्त किया जा सकता है।
आइए देखें कि कस्टम विशेषता कैसे घोषित करें।
[AttributeUsage (AttributeTargets.Class |AttributeTargets.Constructor |AttributeTargets.Field |AttributeTargets.Method |AttributeTargets.Property,AllowMultiple =true)]पब्लिक क्लास DeBugInfo :System.Atहमारे उदाहरण के लिए, आइए हम DeBugInfo नामक एक कस्टम विशेषता का निर्माण करें, जो किसी भी प्रोग्राम को डीबग करके प्राप्त जानकारी को संग्रहीत करता है।
पहली तीन सूचनाओं को संग्रहीत करने के लिए DeBugInfo वर्ग में तीन निजी गुण हैं और संदेश को संग्रहीत करने के लिए एक सार्वजनिक संपत्ति है। इसलिए बग नंबर, डेवलपर का नाम और समीक्षा की तारीख DeBugInfo वर्ग के स्थितीय पैरामीटर हैं और संदेश एक वैकल्पिक या नामित पैरामीटर है।
प्रत्येक विशेषता में कम से कम एक कंस्ट्रक्टर होना चाहिए। आइए देखें कि एक कस्टम विशेषता कैसे बनाई जाती है।
उदाहरण
//एक कस्टम विशेषता बगफिक्स को एक वर्ग और उसके सदस्यों को सौंपा जाना है System.Attribute { Private int bugNo; निजी स्ट्रिंग डेवलपर; निजी स्ट्रिंग lastReview; सार्वजनिक स्ट्रिंग संदेश; सार्वजनिक DeBugInfo (int bg, string dev, string d) {this.bugNo =bg; यह.डेवलपर =देव; this.lastReview =d; } पब्लिक इंट बगनो {प्राप्त करें {रिटर्न बगनो; } } सार्वजनिक स्ट्रिंग डेवलपर { प्राप्त करें {वापसी डेवलपर; } } सार्वजनिक स्ट्रिंग LastReview { प्राप्त करें {वापसी lastReview; } } सार्वजनिक स्ट्रिंग संदेश { प्राप्त करें {वापसी संदेश; } सेट {संदेश =मान; } }}