亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

怎樣通過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
嘉荫县| 西和县| 辉县市| 志丹县| 疏附县| 青神县| 西平县| 法库县| 双流县| 临城县| 南靖县| 镇远县| 游戏| 永泰县| 富顺县| 台南县| 黎川县| 潜江市| 宜宾县| 玉林市| 上蔡县| 襄城县| 卫辉市| 乌拉特前旗| 仙桃市| 静海县| 时尚| 定日县| 马鞍山市| 西盟| 绵阳市| 博爱县| 页游| 全南县| 乐都县| 青州市| 新竹市| 宁波市| 兴文县| 延安市| 怀仁县|