我有一个类的集合(大约 100 个)(假设 Class1、Class2、Class3)。我想动态创建列表并添加到列表中。例如List<abc> test1 = new List<abc>();
abc 可以是 Class1/Class2/ClassN。怎么做?
问问题
501 次
1 回答
2
正如我在评论中提到的,使用反射可以以一种非常简单的方式完成。
public List<object> LoadObjectsFromAssembly(Assembly assemblyContainingClasses)
{
var objectList = new List<object>();
List<Type> classNames = assemblyContainingClasses.GetTypes().Where(t => t.IsClass && !t.IsAbstract).ToList();
foreach(var classType in classNames)
{
Type typeToLoad = assemblyContainingClasses.GetType(classType.FullName);
objectList.Add(Activator.CreateInstance(typeToLoad));
}
return objectList;
}
于 2013-05-17T01:08:00.747 回答