📜  c# create instance from type - C# (1)

📅  最后修改于: 2023-12-03 14:59:39.835000             🧑  作者: Mango

C#创建实例类型

在C#中,我们可以通过类型信息(Type)创建对象实例。这可以通过反射机制实现。

Type type = typeof(MyClass); //获取类型信息
object instance = Activator.CreateInstance(type); //创建实例

上述代码段中,'MyClass'表示某个已知类型名称。可以通过typeof方法获取类型信息。

Activator.CreateInstance方法用于创建实例,接受一个Type参数用于指定类型信息。

public class MyClass {
    public void DoSomething() {
        Console.WriteLine("Something done.");
    }
}

static void Main(string[] args) {
    Type type = typeof(MyClass);
    object instance = Activator.CreateInstance(type);

    //调用实例方法
    MethodInfo method = type.GetMethod("DoSomething");
    method.Invoke(instance, null);
}

上述代码中,我们定义了一个MyClass类,并调用了DoSomething方法。由于我们使用反射创建了实例,我们需要获取类型的MethodInfo并调用Invoke方法来执行该方法。

以上就是在C#中创建实例类型的一些示例。这些示例可用于动态创建实例并调用类成员。