परिचय
[Obsolete] एट्रिब्यूट कंपाइलर को चेतावनी/एरर देने का निर्देश देता है जब चिह्नित सदस्य उपयोग किया जाता है। लीगेसी API को चरणबद्ध तरीके से हटाने के लिए उपयोगी।
सिंटैक्स
[Obsolete("संदेश")] // वार्निंग
[Obsolete("संदेश", true)] // एरोर (कंपाइल फेल)
[Obsolete("संदेश", false)] // वार्निंग (डिफ़ॉल्ट)
उदाहरण
using System;
public class Demo
{
[Obsolete("OldMethod() is deprecated. Use NewMethod() instead.", true)]
static void OldMethod()
{
Console.WriteLine("This is the old method!");
}
static void NewMethod()
{
Console.WriteLine("This is the new method!");
}
public static void Main()
{
OldMethod(); // कंपाइल एरर: CS0619
}
}
आउटपुट
error CS0619: 'Demo.OldMethod()' is obsolete: 'OldMethod() is deprecated. Use NewMethod() instead.'
सर्वोत्तम अभ्यास
- संदेश में विकल्प API बताएं।
- पहले
false(वार्निंग) से शुरू करें, बाद मेंtrue(एरर) करें। - लाइब्रेरी लेखक: मेजर वर्जन में हटाने से पहले एक वर्जन तक वार्निंग रखें।
Obsoleteरनटाइम व्यवहार नहीं बदलता; केवल कंपाइल-टाइम।