假設我有一個類,看起來像這樣:如何檢查一個類是否繼承另一個類而不實例化它?
class Derived : // some inheritance stuff here
{
}
我想看看這樣的事情在我的代碼:
Derived is SomeType;
不過貌似is
運營商需要推導爲變量類型的Dervied ,而不是派生自己。 我不想創建Derived類型的對象。
我如何確保Derived繼承SomeType
而不實例化它?
P.S.如果有幫助,我想要類似where
關鍵字與泛型。
編輯:
類似this答案,但它檢查的對象。我想檢查課程本身。
就像一張紙條給任何人想知道,對泛型類型/接口定義檢查時,這將不會返回true,據我可以告訴你需要搜索繼承鏈並自己檢查泛型類型定義。 – 2015-09-23 00:59:15
亞歷克斯,你將如何去尋找一個泛型的繼承鏈來完成這個? – 2015-11-12 11:07:51
@ AlexHopeO'Connor的說明很重要,我認爲解決方案是有的http://stackoverflow.com/questions/457676/check-if-a-class-is-derived-from-a-generic-class – 2016-05-25 11:49:35