gpt4 book ai didi

c# - 如何在 C# 中存储类列表?

转载 作者:行者123 更新时间:2023-12-04 22:47:16 24 4
gpt4 key购买 nike

在 Java 中,我可以有一个类列表,例如:

List<Class>

但是我如何在 C# 中做到这一点?

最佳答案

存储类类型

如果您指的是实际类的列表,而不是类的实例,那么您可以使用 Type 而不是 Class 。像这样的东西:

List<Type> types = new List<Type>();
types.Add(SomeClass.GetType());
types.Add(SomeOtherClass.GetType());

实例化类型

要实际实例化给定类 Type 的类,您可以使用 Activator 或反射。有关这方面的信息,请参阅 this post。然而,当编译器不知道构造函数/参数等时,它会变得有点复杂。
// Create an instance of types[0] using the default constructor
object newObject = Activator.CreateInstance(types[0]);

或者替代地
// Get all public constructors for types[0]
var ctors = types[0].GetConstructors(BindingFlags.Public);

// Create a class of types[0] using the first constructor
var object = ctors[0].Invoke(new object[] { });

关于c# - 如何在 C# 中存储类列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19164262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com