Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में एट्रिब्यूट्स के साथ काम करना

एट्रिब्यूट्स - डिक्लेरेटिव मेटाडेटा

एट्रिब्यूट एक डिक्लेरेटिव टैग है जो रनटाइम को क्लासेस, मेथड्स, स्ट्रक्चर्स, एन्यूमरेटर्स, असेंबलीज़ आदि के व्यवहार के बारे में जानकारी देता है। आप एट्रिब्यूट का उपयोग करके प्रोग्राम में डिक्लेरेटिव जानकारी जोड़ सकते हैं। एक डिक्लेरेटिव टैग को स्क्वायर ब्रैकेट्स [ ] द्वारा दर्शाया जाता है जो उस एलिमेंट के ऊपर रखा जाता है जिसके लिए इसका उपयोग किया जाता है।

एट्रिब्यूट सिंटैक्स:

[attribute(positional_parameters, name_parameter = value, ...)] 
Element

.NET फ्रेमवर्क दो प्रकार के एट्रिब्यूट्स प्रदान करता है:

  • प्री-डिफाइन्ड एट्रिब्यूट्स: फ्रेमवर्क में बिल्ट-इन (Obsolete, Serializable, Conditional, आदि)
  • कस्टम एट्रिब्यूट्स: यूज़र-डिफाइन्ड

कस्टम एट्रिब्यूट घोषित करना:

// BugFix कस्टम एट्रिब्यूट - क्लास और इसके मेंबर्स को असाइन करने के लिए
[AttributeUsage(AttributeTargets.Class | 
                AttributeTargets.Constructor | 
                AttributeTargets.Field | 
                AttributeTargets.Method | 
                AttributeTargets.Property, 
                AllowMultiple = true)] 
public class DeBugInfo : System.Attribute { 
    public int BugNo { get; set; } 
    public string Developer { get; set; } 
    public string LastReview { get; set; } 
    public string Message { get; set; } 
}

एट्रिब्यूट लागू करना:

[DeBugInfo(BugNo = 123, Developer = "John", Message = "Fixed null ref")] 
public class MyClass { 
    [DeBugInfo(456, "Jane", "Optimized")] 
    public void MyMethod() { } 
}

रनटाइम पर एट्रिब्यूट पढ़ना (रिफ्लेक्शन):

var attrs = typeof(MyClass).GetCustomAttributes(); 
foreach (var attr in attrs) { 
    Console.WriteLine($"Bug: {attr.BugNo}, Dev: {attr.Developer}"); 
}

आम प्री-डिफाइन्ड एट्रिब्यूट्स:

एट्रिब्यूटउपयोग
[Obsolete("message")]पुराने कोड को चेतावनी/एरर के साथ मार्क करें
[Serializable]सीरियलाइज़ेशन सक्षम करें
[Conditional("DEBUG")]केवल DEBUG बिल्ड में कंपाइल
[AttributeUsage]कस्टम एट्रिब्यूट के टार्गेट्स परिभाषित करें
[DllImport]अनमैनेज्ड DLL फंक्शन इम्पोर्ट करें
  1. Python में Bokeh के साथ इमेजेज के साथ कैसे काम करें? Python में Bokeh के साथ इमेजेज के साथ कैसे काम करें?

    Bokeh में इमेजेज के साथ काम करने के लिए image_url() मेथड का उपयोग करें और इमेजेज की लिस्ट पास करें। चरण :func:show कॉल होने पर फाइल में सेव आउटपुट जनरेट करने के लिए डिफ़ॉल्ट आउटपुट स्टेट कॉन्फिगर करें। प्लॉटिंग के लिए नया फिगर बनाएं। दिए गए URLs से लोड की गई इमेजेज रेंडर करें। Bokeh ऑब्जेक्ट या एप

  1. GNOME में वर्कस्पेस के साथ कैसे काम करें GNOME में वर्कस्पेस के साथ कैसे काम करें

    वर्कस्पेस, या वर्चुअल डेस्कटॉप, लिनक्स डेस्कटॉप की एक मुख्य विशेषता है। यह लंबे समय से मौजूद है और लगभग हर लिनक्स विंडो मैनेजर के लिए उपलब्ध है। हालांकि, जब GNOME संस्करण 3 पर चला गया, तो विकास टीम ने मिनिमलिज्म के पक्ष में वर्कस्पेस को छिपाने का फैसला किया। उनका उपयोग करने के लिए, आपको या तो उनके अ

  1. - विंडोज 10 स्टोरेज स्पेस: सुरक्षित, विस्तार योग्य स्टोरेज आसान बनाया गया

    विंडोज 10 कई नई सुविधाएं और पुरानी सुविधाओं में सुधार प्रदान करता है, जिनमें से कई के बारे में आप पूरी तरह से अवगत नहीं हो सकते हैं। स्टोरेज स्पेस ऐसी ही एक सुविधा है। स्टोरेज स्पेस को मूल रूप से विंडोज 8.1 में पेश किया गया था। विंडोज 10 में, स्टोरेज स्पेस आपके डेटा को स्टोरेज समस्याओं से बचाने में