Obsolete एट्रिब्यूट हमारे कोड में क्लासेस, मेथड्स, प्रॉपर्टीज, फील्ड्स, डेलीगेट्स और कई अन्य तत्वों को अप्रचलित या अप्रचलित के रूप में चिह्नित करता है। एट्रिब्यूट को कंपाइल टाइम पर पढ़ा जाता है और यह डेवलपर को चेतावनी या त्रुटि उत्पन्न करने के लिए उपयोग किया जाता है।
यदि हम कभी यह सुनिश्चित करना चाहते हैं कि प्रोग्रामर विधियों के नए संस्करणों का उपयोग करें तो यह एट्रिब्यूट मदद कर सकता है। यह पुरानी विधियों से नई विधियों में संक्रमण करते समय भी आसान बनाता है। किसी आइटम को अप्रचलित के रूप में चिह्नित करने से उपयोगकर्ताओं को चेतावनी मिलती है कि प्रोग्राम तत्व भविष्य के संस्करणों में हटा दिए जाएंगे।
यह एट्रिब्यूट System नेमस्पेस में पाया जाता है। Obsolete एट्रिब्यूट वर्गाकार कोष्ठकों में इसके ऊपर "Obsolete" शब्द डालकर एक प्रोग्राम तत्व को सजाता है। चूंकि यह एक एट्रिब्यूट है, हम या तो Obsolete या ObsoleteAttribute का उपयोग कर सकते हैं।
Obsolete एट्रिब्यूट के तीन कंस्ट्रक्टर हैं:
[Obsolete] - एक नो-पैरामीटर कंस्ट्रक्टर और इस एट्रिब्यूट का उपयोग करने का डिफ़ॉल्ट तरीका।
[Obsolete(string message)] - इस प्रारूप में हमें संदेश मिलता है कि यह विधि क्यों अप्रचलित है।
[Obsolete(string message, bool error)] - इस प्रारूप में संदेश के साथ हम नियंत्रित कर सकते हैं कि कंपाइलर को कंपाइलेशन समय के दौरान त्रुटि फेंकनी चाहिए या नहीं।
उदाहरण
using System;
namespace DemoApplication{
class Demo{
static void Main(string[] args){
ObseleteMethod();
ObseleteMethodWithMessage();
ObseleteMethodWithMessageAndNoFail();
ObseleteMethodWithMessageAndFail();
}
[Obsolete]
public static void ObseleteMethod() { }
[Obsolete("This Method is Deprecated")]
public static void ObseleteMethodWithMessage() { }
[Obsolete("This Method is Deprecated", false)]
public static void ObseleteMethodWithMessageAndNoFail() { }
[Obsolete("This Method is Deprecated", true)]
public static void ObseleteMethodWithMessageAndFail() { }
}
}
आउटपुट
उपरोक्त कोड का आउटपुट कंपाइलर चेतावनी/त्रुटि संदेश दिखाता है।