Ошибка времени компиляции NotSupportedException в функции подкласса

StackOverflow https://stackoverflow.com/questions/128512

  •  02-07-2019
  •  | 
  •  

Вопрос

Если у меня есть подкласс, в котором еще не реализована функция, предоставляемая базовым классом, я могу переопределить эту функцию и заставить ее выдать ошибку. NotSupportedException.Есть ли способ сгенерировать для этого ошибку времени компиляции, чтобы избежать этого только во время выполнения?

Обновлять:Я не могу сделать базовый класс абстрактным.

Это было полезно?

Решение

[Obsolete("Это все еще требует реализации", true/false)] true, если вы не хотите, чтобы сборка прошла успешно, false, если вы просто хотите получить предупреждение

Немного хакерски...но он выполняет функцию предупреждения во время компиляции.

Другие советы

Вы можете сделать базовый класс абстрактным:

abstract class Foo
{
    public abstract void Bar();
}

Теперь любой подкласс должен реализовать Bar(), иначе он не скомпилируется.

Сделайте его абстрактным без реализации и не реализуйте его в производном классе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top