एट्रिब्यूट्स का उपयोग मेटाडेटा जोड़ने के लिए किया जाता है, जैसे कंपाइलर निर्देश और अन्य जानकारी जैसे टिप्पणियां, विवरण, मेथड्स और क्लासेस को प्रोग्राम में।
.Net फ्रेमवर्क कस्टम एट्रिब्यूट्स के निर्माण की अनुमति देता है जिनका उपयोग घोषणात्मक जानकारी स्टोर करने के लिए किया जा सकता है और रन-टाइम पर प्राप्त किया जा सकता है।
एक नया कस्टम एट्रिब्यूट System.Attribute क्लास से डेराइव्ड होता है।
// एक कस्टम एट्रिब्यूट BugFix जिसे क्लास और इसके मेंबर्स को असाइन किया जाता है [AttributeUsage( AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)] public class DeBugInfo : System.Attribute
आइए DeBugInfo नामक एक कस्टम एट्रिब्यूट बनाएं, जो किसी प्रोग्राम को डीबग करके प्राप्त जानकारी स्टोर करता है।
DeBugInfo क्लास में पहली तीन जानकारी स्टोर करने के लिए तीन प्राइवेट प्रॉपर्टीज और मैसेज स्टोर करने के लिए एक पब्लिक प्रॉपर्टी है। इसलिए बग नंबर, डेवलपर का नाम और रिव्यू की तारीख DeBugInfo क्लास के पोजिशनल पैरामीटर्स हैं और मैसेज एक वैकल्पिक या नामित पैरामीटर है।
उदाहरण
आइए देखें कैसे:
// एक कस्टम एट्रिब्यूट BugFix जिसे क्लास और इसके मेंबर्स को असाइन किया जाता है [AttributeUsage( AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)] public class DeBugInfo : System.Attribute { private int bugNo; private string developer; private string lastReview; public string message; public DeBugInfo(int bg, string dev, string d) { this.bugNo = bg; this.developer = dev; this.lastReview = d; } public int BugNo { get { return bugNo; } } public string Developer { get { return developer; } } public string LastReview { get { return lastReview; } } public string Message { get { return message; } set { message = value; } } }