【C#學習筆記】反射的簡單用法

常見的使用反射的場景:
程序在運行時動態地訪問類的成員,如獲得類的變量、方法。

例如:用反射給本類的變量賦值。

public class Student{
    public string studentName = "小王";
    public void Test()
    {
        Type type = this.GetType(); // 獲得本類的類型
        PropertyInfo propertyInfo = type.GetProperty("studentName"); // 獲得本類的成員變量
        propertyInfo.SetValue(this, "老王"); // 修改本類的成員變量
    }
}

上面的代碼,運行Test()方法後,能夠重新給本類的變量賦值。通常經過別的操作得到新的值,然後將新的值做爲參數傳入該方法。

使用反射和泛型,可以使得接口類的設計通用型更強,但會降低代碼可讀性。報錯時得Debug來一步步調試來看運行時反射得到是數據類型。

其他反射使用場景:獲得類的方法並調用等。

學習:

http://www.runoob.com/csharp/csharp-reflection.html

發佈了127 篇原創文章 · 獲贊 53 · 訪問量 83萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章