public sealed interface IMyInterface
{
}
Возвращает «Измененный 'sealed' недействителен для этого элемента».
Я в некотором роде понимаю, что интерфейс должен быть наследуемым, иначе класс не сможет его реализовать.
Но почему я не могу указать, что для интерфейса не должен быть определен подинтерфейс, или есть способ, только не с запечатанным
?
Править
Я должен был приложить некоторые усилия, чтобы объяснить, зачем мне это нужно. Я часто вижу цепочки наследования интерфейса, в которых вместо этого разработчик должен использовать композицию. Sealed идеально подходит для этого в классах, и мне было интересно, есть ли способ применить то же самое для интерфейсов. Поскольку ненужное наследование, на мой взгляд, усложняет рефакторинг и поддержку.
Редактировать 2
Судя по комментариям и сообщениям, деревья наследования интерфейсов не могут быть такими же сложными, как деревья наследования объектов. Как и когда вы наследуете от другого интерфейса IX
, все, что вы говорите, это «должен также реализовывать IX
». И предотвращение этого не приносит никакой пользы.