Могу ли я создать что-то, что будет работать так же, как 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

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