[英]How do I check if a Class is a Subclass in C#?
我搜索了一段時間,但似乎找不到該問題的答案。 我需要弄清楚我當前正在查看的對象是Subclass,還是它是從另一個類繼承的。 我不需要知道這個類是否可以從另一個繼承,而只是知道它是否是一個子類。 在當前上下文中,我無法知道父類是什么,因此無法使用:
typeof(Derived).IsSubclassOf(typeof(Base))
typeof(Base).IsAssignableFrom(typeof(Derived))
is
或as
我可以在Type
類或PropertyInfo
類上進行檢查嗎?
C#中的每個類都是從Object派生的,因此這意味着要檢查給定的類是否為子類,可以檢查Type的Baseclass屬性。 以下是摘要。
class Base {
}
class Derived : Base
{
}
現在,如果您檢查
var isBase = typeof(Base).BaseType == typeof(Object) // true
isBase = typeof(Derived).BaseType == typeof(Object) // false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.