这是一个问题:
有一个父类Class01
,它有两个子类:Subclass0101
和Subclass0102
。 Class01
及其子类尚未实例化。我们需要
Class01
。<Class1>
左右)使尽可能多的通用 - 我不确定符号是否正确)。如果我们的Class02
具有子类SubClass0201
和SubClass0202
,那么这种方法将是通用的。您是否会非常友好地帮助我们完成代码组合,因为我无法将现有答案组合到一个项目中?非常感谢你提前!!!
以下是我的意图:
namespace Temp
{
class Program
{
static void Main(string[] args)
{
// Not sure what to put here
Show<Class01>
// Not sure what to put here
public static Show<T1>
{
// and here
}
}
class Class01 {}
class SubClass0101 : Class01 {}
class SubClass0102 : Class01 { }
class Class02 { }
class SubClass0201 : Class02 { }
class SubClass0202 : Class02 { }
}
答案 0 :(得分:1)
假设子类在同一个程序集中:
public static IEnumerable<Type> GetAllSubTypesInSameAssembly(this Type type)
{
return type.Assembly
.GetTypes()
.Where(t => t != type && type.IsAssignableFrom(t));
}