165. ObsoleteAttribute

הכרנו בפעמים הקודמות Attributeים.

כעת נראה דוגמה לAttribute ששמו ObsoleteAttribute.

הAttribute מאפשר לנו לציין כי איזושהי מחלקה/מתודה/קוד אחר כבר אינו נתמך.

למשל, נניח כתבנו מחלקה ואנחנו לא מעוניינים שמשתמשים בקוד שלנו ישתמשו בה – נוכל לשים את הAttribute:

1
2
3
4
5
[Obsolete]
public class LegacyClass
{
// ...
}

בזמן קימפול אם מישהו ישתמש במחלקה זו הוא יקבל Warning:

‘LegacyClass’ is obsolete

באופן דומה, נוכל לשים אותה על מתודות ושאר הMemberים של מחלקה שלנו.

בנוסף, נוכל להוסיף תיאור שיופיע בWarning:

1
2
3
4
5
[Obsolete("Use NewClass instead")]
public class LegacyClass
{
// ...
}

‘LegacyClass’ is obsolete: ‘Use NewClass instead’

בנוסף, נוכל לציין שאם מישהו ישתמש במחלקה הזו הוא יקבל Error ולא Warning:

1
2
3
4
5
[Obsolete("Use NewClass instead", true)]
public class LegacyClass
{
// ...
}

‘LegacyClass’ is obsolete: ‘Use NewClass instead’

זה בעיקר טוב למקומות שבהם רוצים לשנות API, אבל בלי לשבור API ישן.

המשך יום נתמך טוב

שתף