मैं C # का उपयोग करके अप्रचलित या पदावनत विधि को कैसे चिह्नित करूं ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 )। थोड़ा अलग उद्देश्य से कार्य करता है।
मैं C # का उपयोग करके अप्रचलित या पदावनत विधि को कैसे चिह्नित करूं ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 )। थोड़ा अलग उद्देश्य से कार्य करता है।
जवाबों:
सबसे छोटा तरीका विधि के ObsoleteAttribute
रूप में एक विशेषता को जोड़कर है । एक उपयुक्त स्पष्टीकरण शामिल करना सुनिश्चित करें:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
यदि आप विधि को इस तरह कोड में कहीं से कॉल करते हैं, तो चेतावनी के बजाय विधि के उपयोग को एक त्रुटि के रूप में मानते हुए, असफल होने का कारण भी हो सकता है :
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
चेतावनी के साथ अप्रचलित के रूप में चिह्नित करने के लिए:
[Obsolete]
private static void SomeMethod()
इसका उपयोग करने पर आपको एक चेतावनी मिलती है:
और IntelliSense के साथ:
यदि आप एक संदेश चाहते हैं:
[Obsolete("My message")]
private static void SomeMethod()
यहाँ IntelliSense टूल टिप है:
अंत में अगर आप चाहते हैं कि उपयोग को त्रुटि के रूप में चिह्नित किया जाए:
[Obsolete("My message", true)]
private static void SomeMethod()
जब इसका उपयोग किया जाता है तो आपको यह मिलता है:
नोट: संदेश का उपयोग लोगों को यह बताने के लिए करें कि उन्हें इसके बजाय क्या उपयोग करना चाहिए, न कि यह अप्रचलित क्यों है।
ObsoleteAttribute
आप के साथ पदावनत विधि दिखा सकते हैं। अप्रचलित विशेषता में तीन निर्माता हैं:
[Obsolete]:
कोई पैरामीटर निर्माता नहीं है और इस विशेषता का उपयोग करके डिफ़ॉल्ट है।[Obsolete(string message)]:
इस प्रारूप में आप पा सकते हैंmessage
कि यह विधि क्यों निकाली गई है।[Obsolete(string message, bool error)]:
इस प्रारूप में संदेश बहुत स्पष्टerror
है, लेकिन इसका मतलब है, संकलन समय में, संकलक त्रुटि दिखा रहा है और संकलन विफल होने या नहीं होने का कारण होना चाहिए।