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