在程序集中,有包含類型模塊,而類型包含提供反射的成員。我們可以查看程序集的路徑、命名空間和類。我們也可以操作它。
我們可以實例化程序集的類,丟棄類中的方法,就像我們平時使用程序集壹樣。
反射機制通常有以下目的。
使用Assembly定義和加載程序集,加載程序集清單中列出的模塊,從該程序集中查找類型並創建該類型的實例。
使用模塊發現以下信息:包含模塊的程序集和模塊中的類等。您還可以獲取模塊上定義的所有全局方法或其他特定的非全局方法。
使用ConstructorInfo發現以下信息:構造函數的名稱、參數、訪問修飾符(如public或private)和實現細節(如abstract或virtual)。使用類型的GetConstructor或getconstructor方法調用特定的構造函數。
使用MethodInfo發現以下信息:方法名、返回類型、參數、訪問修飾符(如public或private)和實現細節(如abstract或virtual)。使用類型的GetMethods或GetMethod方法調用特定的方法。
使用FieldInfo發現以下信息:字段的名稱、訪問修飾符(如public或private)和實現細節(如static);並獲取或設置字段值。
使用EventInfo發現以下信息:事件的名稱、事件處理程序的數據類型、自定義屬性、聲明類型、反射類型等。以及添加或刪除事件處理程序。
使用PropertyInfo發現以下信息:屬性的名稱、數據類型、聲明類型、反射類型和只讀或可寫狀態;並獲取或設置屬性值。
使用參數信息發現以下信息:參數名稱、數據類型、參數是輸入參數還是輸出參數,以及參數在方法簽名中的位置。
當您在應用程序域的僅反射上下文中工作時,請使用CustomAttributeData來發現有關自定義屬性的信息。通過使用CustomAttributeData,無需創建要素的實例即可檢查要素。
微軟官方解釋:/library/windows/apps/f 7 ykdhsy . aspx。