2013-01-27 2 views
1

Всегда говорят, что с использованием интерфейсов мы можем добиться множественного наследования в .NET.Использование множественного наследования через интерфейс

Хотя размещение на этот вопрос я также пошел это re interfaces redundant with multiple inheritance?.

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

Теперь, мой вопрос: есть ли пример для множественного наследования в .NET frameworks или любых популярных библиотеках в мире .NET.

Благодаря

ответ

2

Он всегда говорил, что с помощью интерфейсов можно достичь множественного наследования в .NET.

Это на самом деле не так. В .NET нет истинного множественного наследования. Интерфейсы просто обеспечивают механизм для достижения многих из тех же целей, что и множественное наследование, при этом гораздо меньше угловых случаев, которые вызывают проблемы.

Теперь мой вопрос: есть ли пример для множественного наследования в .NET frameworks или любых популярных библиотеках в мире .NET.

Опять же - нет множественного наследования в .NET. Однако интерфейсы используются во всей структуре для обеспечения повторного использования без указания фиксированного базового типа. LINQ - отличный пример - почти все функции, предоставляемые LINQ, работают против интерфейсов, что позволяет использовать эту функциональность для нескольких типов, не требуя множественного наследования.

+0

Не значит «не» правда? –

+0

@PaulPhillips Fixed –

-1
class MyBaseClass:IEnumerable,IQueryable 

Как вы уже знаете, это один из главных примеров множественного наследования в C#, достигнутом через интерфейсы.

StackOverflow обсуждает тему в изобилии для серьезных программистов, как ц ..

Смежные вопросы