යල්පැනගිය හෝ අතහැර දැමූ ක්‍රමයක් සලකුණු කරන්නේ කෙසේද?


1022

C # භාවිතයෙන් යල්පැනගිය හෝ අතහැර දැමූ ක්‍රමයක් මා සලකුණු කරන්නේ කෙසේද?


යල්පැනගිය ගුණාංගයේ සියලු වෙනස්කම් 3 ක් විස්තර කරන යූ ටියුබ් වීඩියෝව මෙන්න: youtube.com/watch?v=_AQ5wsPnfJ4
ශිව්ප්‍රසාද් කොයිරාල

3
[EditorBrowsable(EditorBrowsableState.Never)]( Stackoverflow.com/a/9086345/661933 ) ද ඇති බව අමතක නොකළ යුතුය . තරමක් වෙනස් අරමුණක් ඉටු කරයි.
නව්ෆල්

Answers:


1624

කෙටිම ක්‍රමය වන්නේ ක්‍රමයට ගුණාංගයක්ObsoleteAttribute ලෙස එකතු කිරීමයි . සුදුසු පැහැදිලි කිරීමක් ඇතුළත් කිරීමට වග බලා ගන්න:

[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{  }

මෙම ක්‍රමය කේතයේ කොතැනක හෝ කැඳවනු ලැබුවහොත්, අනතුරු ඇඟවීම වෙනුවට ක්‍රමවේදය භාවිතා කිරීම දෝෂයක් ලෙස සලකමින් ඔබට සම්පාදනය අසමත් වීමට ද හේතු විය හැකිය :

[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]

99
කවුරුහරි මෙම ක්‍රමය භාවිතා කරන්නේ නම් සම්පාදකයාට දෝෂයක් ඇතිවීමට අවශ්‍ය නම් යල් පැන ගිය ක්‍රමය භාවිතා කරන්න යල්පැනගිය (සංගීත පණිවිඩය, බූල් දෝෂය)
HitLikeAHammer

142
විස්තරයක් නොමැතිව යල්පැන ඇති යල් පැන ගිය එකක් විය යුතුය ... notherdev.blogspot.com/2013/02/obsolete-should-be-obsolete.html
dotjoe

32
ඔබේ උදාහරණ වල "Method1 අතහැර දමා ඇත" කොටස තරමක් අතිරික්ත වේ. එය යල් පැන ගිය එකක් ලෙස සලකුණු කිරීමෙන් ඔබ කියන්නේ එය යල්පැන ඇති බවයි, එබැවින් එය පණිවිඩයේ නැවත සඳහන් කිරීම අවශ්‍ය නොවේ. විශේෂයෙන් ලැබෙන අනතුරු ඇඟවීම / දෝෂය 'Method1' යල්පැන ඇති බැවින්: 'Method1 අතහැර දමා ඇත, කරුණාකර ඒ වෙනුවට Method2 භාවිතා කරන්න.'
irreal

9
ඒක හොදයි. ඔබට අවශ්‍ය නම් වඩාත් නිශ්චිත පණිවිඩයක් එක් කළ හැකි බව පෙන්වීමට මම උදාහරණ පෙළ කිහිපයක් එහි තැබුවෙමි.
ක්‍රිස් බැලන්ස්

15
ks akshay2000 ක්‍රමවේදය නැවත නම් කිරීම හෝ ඉවත් කිරීම පාරිභෝගිකයාට එය නැවත නම් කිරීමට හෝ ඉවත් කිරීමට හේතුව සහ ඒ වෙනුවට භාවිතා කළ යුත්තේ කුමක් ද යන්න පිළිබඳව කිසිදු සැකයක් නැත.
ලෙන්ස්ෆ්ලේර්

141

අනතුරු ඇඟවීමකින් යල්පැන ඇති බව සලකුණු කිරීමට:

[Obsolete]
private static void SomeMethod()

ඔබ එය භාවිතා කරන විට ඔබට අනතුරු ඇඟවීමක් ලැබේ:

යල්පැනගිය අනතුරු ඇඟවීමක් පෙන්වා ඇත

සහ IntelliSense සමඟ:

IntelliSense සමඟ යල්පැනගිය අනතුරු ඇඟවීම

ඔබට පණිවිඩයක් අවශ්‍ය නම්:

[Obsolete("My message")]
private static void SomeMethod()

මෙන්න IntelliSense මෙවලම් ඉඟිය:

ඉන්ටෙලිසෙන්ස් යල්පැනගිය පණිවිඩය පෙන්වයි

අවසාන වශයෙන් ඔබට භාවිතය දෝෂයක් ලෙස සලකුණු කිරීමට අවශ්‍ය නම්:

[Obsolete("My message", true)]
private static void SomeMethod()

මෙය භාවිතා කරන විට ඔබට ලැබෙන්නේ මෙයයි:

ක්‍රම භාවිතය දෝෂයක් ලෙස පෙන්වයි

සටහන: පණිවිඩය භාවිතා කරන්න, ඒ වෙනුවට ඔවුන් භාවිතා කළ යුත්තේ කුමක්ද යන්න පැවසීමට මිස එය යල්පැන ඇති හේතුවට නොවේ.


67

මූල පදය භාවිතා කරමින් ක්‍රමයට විවරණයක් එක් කරන්න Obsolete. පණිවිඩ තර්කය අත්‍යවශ්‍ය නමුත් අයිතමය දැන් යල්පැන ඇත්තේ ඇයි සහ / හෝ ඒ වෙනුවට භාවිතා කළ යුත්තේ කුමක් ද යන්න සන්නිවේදනය කිරීම හොඳ අදහසකි.
උදාහරණයක්:

[System.Obsolete("use myMethodB instead")]
void myMethodA()

38

සමග ObsoleteAttributeඔබ අතහැර ක්රමය පෙන්වන්න පුළුවන්. යල්පැනගිය ගුණාංගයට ඉදිකිරීම්කරුවන් තිදෙනෙක් සිටී:

  1. [Obsolete]: පරාමිති සාදන්නෙකු නොවන අතර මෙම ගුණාංගය භාවිතා කරන පෙරනිමියකි.
  2. [Obsolete(string message)]:messageමෙම ක්‍රමය අතහැර දැමුවේ ඇයිද යන්න මෙම ආකෘතියෙන් ඔබට දැනගත හැකිය .
  3. [Obsolete(string message, bool error)]:මෙම ආකෘතියේ පණිවිඩය ඉතා පැහැදිලිව පෙනෙන නමුත් errorසම්පාදනය කරන වේලාවේදී, සම්පාදකයා දෝෂයක් පෙන්විය යුතු අතර සම්පාදනය අසමත් වීමට හෝ නොවීමට හේතු විය යුතුය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.