C#: Предпочтительный шаблон для функций, требующих аргументов, которые реализуют два [закрытые] интерфейса

9
задан JSBձոգչ 12 April 2010 в 16:54
поделиться

2 ответа

Второй вариант более гибкий. Вводя новый интерфейс, вы заставляете классы реализовывать третий интерфейс, что будет возможно только в том случае, если у них есть ссылка на вашу библиотеку (где интерфейс определен).

При использовании общих ограничений классу нужна только ссылка на библиотеку, содержащую IFoo и IBar , но не IFooBar .

5
ответ дан 4 December 2019 в 23:38
поделиться

Первый упомянутый вами способ создания суперинтерфейса привлекает объектно-ориентированный код, потому что он позволяет выразить класс как объединенные интерфейсы и взаимодействовать с ним как таковым.

Поскольку существует необходимость в таком выражении, почему бы не сделать его официальным и связать себя узами брака , сделав его суперинтерфейсом и задокументировав его для возможного будущего обслуживания. ИМХО

1
ответ дан 4 December 2019 в 23:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: