Недавно я столкнулся с проблемой, когда мне кажется, что мне нужен "статический абстрактный" метод. Я знаю, почему это невозможно, но как я могу обойти это ограничение?
Например, у меня есть абстрактный класс, который имеет строку описания. Поскольку эта строка является общей для всех экземпляров, она помечена как статическая, но я хочу, чтобы все классы, полученные из этого класса, предоставляли свое собственное свойство Description, поэтому я обозначил его как абстрактный:
abstract class AbstractBase
{
...
public static abstract string Description{get;}
...
}
Он не будет компилироваться, конечно. Я думал об использовании интерфейсов, но интерфейсы могут не содержать сигнатуры статических методов.
Должен ли я сделать это просто нестатическим и всегда получать экземпляр, чтобы получить эту информацию о конкретном классе?
Любые идеи?