-1

我有一个类的集合(大约 100 个)(假设 Class1、Class2、Class3)。我想动态创建列表并添加到列表中。例如List<abc> test1 = new List<abc>();abc 可以是 Class1/Class2/ClassN。怎么做?

4

1 回答 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 回答