中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

怎樣通過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
泾源县| 新乐市| 重庆市| 垦利县| 叙永县| 剑阁县| 台州市| 嘉义市| 开封市| 临泉县| 城步| 南安市| 黄骅市| 湘乡市| 泰州市| 丹凤县| 新巴尔虎左旗| 凤台县| 玉门市| 浦北县| 闵行区| 遵义市| 九龙县| 武威市| 庆云县| 南涧| 新营市| 抚远县| 嘉祥县| 工布江达县| 射阳县| 赤城县| 靖远县| 华亭县| 吉水县| 峡江县| 阿克苏市| 剑川县| 阜宁县| 西吉县| 资兴市|