Вопрос относительно дженериков и наследования - PullRequest
0 голосов
/ 08 апреля 2011

У меня есть класс Derived<T>, производный от Base<T>. Какое из следующих утверждений является истинным или ложным?

typeof(Derived<SomeType>).IsSubclassOf(typeof(Base<SomeType>))
typeof(Derived<>)        .IsSubclassOf(typeof(Base<SomeType>))
typeof(Derived<SomeType>).IsSubclassOf(typeof(Base<>))
typeof(Derived<>)        .IsSubclassOf(typeof(Base<>))

Заранее спасибо

1 Ответ

0 голосов
/ 08 апреля 2011

В этом случае первый:

typeof(Derived<SomeType>).IsSubclassOf(typeof(Base<SomeType>))

Другой не компилируется - вы не можете ссылаться на универсальный без его аргумента типа, например,

Something<>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...