溫馨提示×

c# createsinstance能創建什么

c#
小樊
116
2024-12-01 04:09:59
欄目: 編程語言

在C#中,CreateInstance方法屬于System.Reflection命名空間下的Type類。它用于通過反射動態創建一個類的實例。CreateInstance方法可以接受以下參數:

  1. 類型名稱(字符串):要創建的類的完全限定名(包括命名空間和程序集)。
  2. 參數列表(對象數組):傳遞給構造函數的參數。如果構造函數沒有參數,可以傳遞一個空數組。
  3. 是否綁定到程序集(布爾值):指示是否將類型綁定到特定的程序集。默認值為false。
  4. 是否忽略訪問修飾符(布爾值):指示是否忽略類型的訪問修飾符(如private、protected等)。默認值為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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女