温馨提示×

c# createsinstance能创建什么

c#
小樊
81
2024-12-01 04:09:59
栏目: 编程语言

在C#中,CreateInstance方法属于System.Reflection命名空间下的Type类。它用于通过反射动态创建一个类的实例。CreateInstance方法可以接受以下参数:

  1. 类型名称(字符串):要创建的类的完全限定名(包括命名空间和程序集)。
  2. 参数列表(对象数组):传递给构造函数的参数。如果构造函数没有参数,可以传递一个空数组。
  3. 是否绑定到程序集(布尔值):指示是否将类型绑定到特定的程序集。默认值为false
  4. 是否忽略访问修饰符(布尔值):指示是否忽略类型的访问修饰符(如privateprotected等)。默认值为false

示例:

using System;
using System.Reflection;

namespace ReflectionExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 获取要创建的类的类型信息
            Type type = Type.GetType("ReflectionExample.MyClass");

            // 使用CreateInstance方法创建类的实例
            object instance = type.CreateInstance();

            // 调用实例的方法
            MethodInfo method = type.GetMethod("MyMethod");
            method.Invoke(instance, new object[] { });
        }
    }

    class MyClass
    {
        public void MyMethod()
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

在这个例子中,我们使用CreateInstance方法创建了一个MyClass的实例,并调用了其MyMethod方法。请注意,为了使这个例子正常工作,您需要将ReflectionExample程序集添加到您的项目中。

0