Я работаю над небольшим проектом и столкнулся с этой проблемой.
Выход проекта - это библиотека, содержащая интерфейс.Я хотел бы реализовать этот интерфейс и запечатать его функции, если это возможно:
public interface ITest
{
void SomeMethod();
}
class A : ITest
{
public sealed override SomeMethod()
{
}
}
Идея состоит в том, чтобы интерфейс был доступен каждому и имел какой-то специализированный класс, который его реализует.Исключением является то, что я хочу убедиться, что если кто-то создаст специализированный класс типа А., он / она не сможет изменить поведение метода.
Проблема в том, что вы не можете поставить "переопределите ключевое слово "там", так как метод не объявлен как "виртуальный" в интерфейсе.И вы не можете объявить его как «виртуальный» в интерфейсе, так как это запрещено.И вы не можете удалить ключевое слово «переопределить», так как оно необходимо для «запечатанного».
Любая обходная идея или метод мозгового штурма приветствуются, но если кто-то может предложить решение, которое включает интерфейс, я 'буду очень рад узнать это!
Спасибо!
РЕДАКТИРОВАТЬ: Забудьте этот вопрос!Как сказала Ани, я забыл, что по умолчанию метод в C # запечатан.Кажется, что всегда хорошо возвращаться к основам время от времени ...