2
我試圖讓一個類的所有祖先(類和接口)到一個列表。如何在Coderush中獲得一個課程的祖先?
我試過這段代碼,但沒有工作。
public static List<Class> AncestorList;
public static void GetAncestorList(Class curClass)
{
if(curClass.PrimaryAncestorType!=null)
{
Class primaryAncestor = curClass.PrimaryAncestorType.Resolve(new SourceTreeResolver()) as Class;
if(primaryAncestor !=null)
{
AncestorList.Add(primaryAncestor);//Add primary ancestor to the list.
GetAncestorList(primaryAncestor);//find the ancestors of the primary ancestor.
}
foreach (TypeReferenceExpression typ1 in curClass.SecondaryAncestorTypes )
{
Class secAncestor = typ1.Resolve(new SourceTreeResolver()) as Class;
if(secAncestor !=null)
{
AncestorList.Add(secAncestor);//Add secondary ancestor to the list.
GetAncestorList(secAncestor);//find ancestors of secondary ancestor.
}
}
}
在這部分代碼中,我嘗試將所有類和接口收集到AncestorList中。 但是,當我試圖找到列表中的數字類時,它顯示0.測試項目有幾個父類和接口。請幫忙找到錯誤。
我以下面的方式調用了GetAncestorList函數。
AncestorList=new List<Class>();
GetAncestorList(currentClass);
由於事先
維諾德
謝謝亞歷克斯,_CodeRush.Source.GetAllBaseTypes(curClass); _確實是一個不錯的功能... :)我是奮鬥了3天與上述代碼和其他嘗試..你的回答真的幫助我..再次感謝你.. – 2011-05-21 20:37:19