অ্যাট্রিবিউটগুলি মেটাডেটা যোগ করার জন্য ব্যবহার করা হয়, যেমন কম্পাইলার নির্দেশনা এবং অন্যান্য তথ্য যেমন মন্তব্য, বিবরণ, পদ্ধতি এবং একটি প্রোগ্রামে ক্লাস।
.Net Framework কাস্টম বৈশিষ্ট্য তৈরি করার অনুমতি দেয় যা ঘোষণামূলক তথ্য সংরক্ষণ করতে ব্যবহার করা যেতে পারে এবং রান-টাইমে পুনরুদ্ধার করা যেতে পারে।
একটি নতুন কাস্টম বৈশিষ্ট্য System.Attribute ক্লাস থেকে উদ্ভূত হয়েছে।
//a custom attribute BugFix to be assigned to a class and its members [AttributeUsage( AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)] public class DeBugInfo : System.Attribute
আসুন আমরা DeBugInfo নামে একটি কাস্টম বৈশিষ্ট্য তৈরি করি, যা যেকোনো প্রোগ্রাম ডিবাগ করে প্রাপ্ত তথ্য সংরক্ষণ করে।
DeBugInfo ক্লাসে প্রথম তিনটি তথ্য সংরক্ষণের জন্য তিনটি ব্যক্তিগত বৈশিষ্ট্য এবং বার্তা সংরক্ষণের জন্য একটি সর্বজনীন সম্পত্তি রয়েছে। তাই বাগ নম্বর, বিকাশকারীর নাম এবং পর্যালোচনার তারিখ হল DeBugInfo ক্লাসের অবস্থানগত পরামিতি এবং বার্তাটি একটি ঐচ্ছিক বা নামকৃত প্যারামিটার৷
উদাহরণ
আসুন দেখি কিভাবে -
//a custom attribute BugFix to be assigned to a class and its members [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; } } }