Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1407 of 1492 menu
◀ ▶

Obsolete

[Obsolete("abcde")] даёт предупреждение, а не текст в консоль. Сообщение читают через отражение. Параметр error: true делает использование ошибкой - такой метод в примере не вызывают.

Синтаксис

[Obsolete("abcde")] class Legacy { }

Пример

Давайте прочитать Message у устаревшего класса:

using System; using System.Reflection; [Obsolete("abcde")] class Legacy { } class Program { static void Main() { ObsoleteAttribute item = typeof(Legacy) .GetCustomAttribute<ObsoleteAttribute>(); string res = item.Message; Console.WriteLine(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте проверить IsError при error: true:

using System; using System.Reflection; [Obsolete("abcde", error: true)] class Blocked { } class Program { static void Main() { ObsoleteAttribute item = typeof(Blocked) .GetCustomAttribute<ObsoleteAttribute>(); bool res = item.IsError; Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте сравнить IsError без флага ошибки:

using System; using System.Reflection; [Obsolete("abcde")] class Legacy { } class Program { static void Main() { ObsoleteAttribute item = typeof(Legacy) .GetCustomAttribute<ObsoleteAttribute>(); bool res = item.IsError; Console.WriteLine(res); } }

Результат выполнения кода:

False

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить