91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

怎樣通過System.Reflection創建實例

小樊
82
2024-10-16 18:47:16
欄目: 編程語言

在C#中,使用System.Reflection類可以動態地創建對象實例。以下是一個簡單的示例,展示了如何使用反射來創建一個類的實例:

  1. 首先,確保你有一個要實例化的類。例如,我們有一個名為MyClass的簡單類:
public class MyClass
{
    public string Message { get; set; }

    public MyClass(string message)
    {
        Message = message;
    }
}
  1. 接下來,使用System.Reflection.Assembly類加載包含該類的程序集。你可以使用Assembly.LoadFrom方法或Assembly.LoadFile方法來實現這一點。這里,我們將使用Assembly.LoadFrom方法:
Assembly assembly = Assembly.LoadFrom("YourAssemblyName"); // 替換為你的程序集名稱

注意:YourAssemblyName應替換為包含MyClass的程序集的實際名稱。 3. 使用assembly.GetType()方法獲取MyClass類型的Type對象:

Type myClassType = assembly.GetType("MyNamespace.MyClass"); // 替換為你的命名空間和類名

注意:MyNamespace應替換為包含MyClass的類的實際命名空間。 4. 使用Type.GetConstructor()方法獲取MyClass的構造函數。你可以根據需要選擇構造函數,這里我們將使用無參數的構造函數:

ConstructorInfo constructor = myClassType.GetConstructor();
  1. 使用ConstructorInfo.Invoke()方法創建MyClass的實例:
object instance = constructor.Invoke(null); // 無參數構造函數,因此傳遞null

現在,instance變量包含了一個MyClass的實例。你可以像使用任何其他對象一樣使用它,例如調用其屬性和方法:

string message = (string)instance.GetType().GetProperty("Message").GetValue(instance);
Console.WriteLine(message);

這將輸出MyClass實例的Message屬性值。

0
宿松县| 富川| 河北区| 兰坪| 乌拉特前旗| 公主岭市| 辉南县| 伊金霍洛旗| 宿迁市| 衡水市| 石林| 林州市| 南皮县| 儋州市| 曲周县| 习水县| 七台河市| 申扎县| 桐乡市| 林周县| 凤台县| 富顺县| 德昌县| 教育| 宁武县| 新郑市| 温泉县| 伊金霍洛旗| 即墨市| 台州市| 平遥县| 阿拉善盟| 高尔夫| 石家庄市| 沁水县| 腾冲县| 保山市| 莱阳市| 黄大仙区| 巧家县| 呼伦贝尔市|