[宅男週記] #02-2019 檢查某個類別有實做特定介面或繼函自特定類別

Jan 21, 2019




環境

假設有一個衍生類別 Derived 如下:

class Derived:SomeType{}

如何確認它是否實做或繼函自 SomeType 呢?

解法

* 透過 IsAssignableFrom 函式

以下寫法可以判斷 Derived 是否繼承/實做 SomeType 類別/介面。

typeof(SomeType).IsAssignableFrom(typeof(Derived))

* 透過 IsSubclassOf 函式

以下寫法可以判斷 Derived 是否繼承 SomeType 類別。

typeof(Derived).IsSubclassOf(typeof(SomeType))

參考