Могу ли я создать что-то, что будет работать так же, как ObsoleteAttribute?C#

Место общения программистов C#
Ответить
Anonymous
 Могу ли я создать что-то, что будет работать так же, как ObsoleteAttribute?

Сообщение Anonymous »

Я создаю набор классов для расширенной модели предметной области, которые получают услуги от IServiceProvider в своих конструкторах, но не предназначены для непосредственного создания новых.

Код: Выделить всё

public class MyDomainEntity : DomainEntity
{
private readonly ILogger _logger;

[Obsolete("For IServiceProvider use only", true)]
public MyDomainEntity(IServiceProvider serviceProvider, ILogger logger) : base(serviceProvider)
{
_logger = logger;
}

// ...
}
Мой коллега заметил (на мой взгляд, правильно), что, хотя сообщение достаточно хорошо читаемо, использование [Obsolete] по-прежнему кажется неудобным. Итак, я хотел бы создать аналог, но с более подходящим именем.
Очевидно, что я не могу наследовать ObsoleteAttribute, потому что он запечатан, и из исходного кода и предыдущих вопросов ясно, что все, что происходит при его использовании, происходит на стороне компилятора.
Есть ли способ создать этот аналог? Если это имеет значение, мы работаем в net10.0, и здесь не обязательно должна быть обратная совместимость.

Подробнее здесь: https://stackoverflow.com/questions/798 ... eattribute
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»