奇怪的是,我無法找到類似的問題,但這實際上是我想要的,查找派生類的所有父類。如何獲得C#中派生類的所有父類反射
我測試了代碼,是希望它爲我的作品:
void WriteInterfaces()
{
var derivedClass = new DerivedClass();
var type = derivedClass.GetType();
var interfaces = type.FindInterfaces((objectType, criteria) =>
objectType.Name == criteria.ToString(),"BaseClass");
foreach(var face in interfaces)
{
face.Name.Dump();
}
}
interface BaseInterface
{}
class BaseClass : BaseInterface {}
class BaseClass2 : BaseClass {}
class DerivedClass : BaseClass2{}
基本上,我在這裏的主要目的是檢查是否派生類莫名其妙地在其基礎層次的地方繼承的基類。
但是,此代碼返回空值,僅適用於接口。
你的要求是有點怪怪的(也許我誤解)..但派生類將始終以繼承一個基類,是在它的層次結構的某個地方。這就是爲什麼它的「派生」.. –