我有一组类(大约100)(假设Class1,Class2,Class3)。我想动态创建列表并添加到列表中。例如List<abc> test1 = new List<abc>();
abc可以是Class1 / Class2 / ClassN。怎么做?
答案 0 :(得分: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;
}