gpt4 book ai didi

.net - 什么是System.Activator.CreateInstance?

转载 作者:行者123 更新时间:2023-12-04 09:36:56 25 4
gpt4 key购买 nike

什么是System.Activator.CreateInstance,什么时候应该使用它?

最佳答案

它允许您创建其类型仅在运行时已知的对象的实例。因此,假设您有一些类(class)

public class MyClass
{
public void SomeMethod()
{

}
}

并且您想创建它的一个实例。标准方法是执行此操作:
MyClass instance = new MyClass();

但是正如您所看到的,这意味着必须在编译时知道该类型。如果您想让用户在某些文本框中输入类的名称,该怎么办。在这种情况下,您可以使用 Activator.CreateInstance:
// this could come from anywhere and it's known only at runtime
string someType = "MyClass";
object instance = Activator.CreateInstance(Type.GetType(someType));

缺点是,由于实际类型在编译时未知,因此您必须使用 use reflection才能操作用 Activator.CreateInstance创建的实例。

关于.net - 什么是System.Activator.CreateInstance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9409293/

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