У меня есть базовый класс, где мне нужно убедиться, что все виртуальные методы перезаписаны в специализациях классов. Я не могу использовать абстрактный класс/методы, так как мне нужно выполнить некоторый код в базовых методах.Убедитесь, что все виртуальные методы переопределены
Как это сделать?
public class BaseClass
{
public virtual void DoStuff()
{
// do something
}
}
public class DerivedClass : BaseClass
{
public override void DoStuff()
{
// do derived work
base.DoStuff();
}
}
Даже если вы могли бы (я не верю, что можно), вы Wouldn «Невозможно заставить исполнителей« вызывать »ваши базовые методы, когда они их переопределяют, - это тоже требовалось? –
@Damien_The_Unbeliever хорошо, у меня есть куча тестового кода, который мне нужно протестировать на некоторых репозиториях. Поэтому мне нужно убедиться, что если я добавлю тесты в «базовый тестовый класс», тогда все тесты репозиториев будут проверять новые тесты, которые я добавил. В основном я пытаюсь преодолеть ограничение атрибута TestCaseAttribute nunit, который поддерживает только примитивные типы. Для этого существует ряд довольно простых решений, но все они уничтожают обзор тестов nunit и затрудняют мне выяснение, какие тесты терпят неудачу на каких классах. –