Class Mirror
萬用的反射輔助工具
public static class Mirror
- Inheritance
-
Mirror
- Inherited Members
Methods
AssignValue<T>(ref T, object, object)
將目標物件的特定成員 key 覆蓋數值 value,如果找不到該成員或該成員唯讀,將不進行任何操作
public static bool AssignValue<T>(ref T target, object key, object value)
Parameters
Returns
Type Parameters
T目標物件類型 T
Assign<T>(ref T, params object[])
物件成員數值合併,將數個物件 objs 由前到後依序將其成員數值覆蓋到目標物件 target 中,成員名稱與型態必須相同才會覆蓋,否則將忽略
public static void Assign<T>(ref T target, params object[] objs)
Parameters
targetT目標物件
objsobject[]數個任意物件
Type Parameters
T目標物件類型 T
EachMembers<TKey, TVal>(object, Action<TKey, TVal>)
反射指定物件的成員,並將成員名稱轉換為 TKey 型態、成員數值轉換成 TVal 型態,傳遞給回呼 (callback) 委派函數處理,當轉換不過時將回傳該型態的預設值
public static void EachMembers<TKey, TVal>(object obj, Action<TKey, TVal> cb)
Parameters
Type Parameters
TKey物件成員名稱轉換成這個型態
TVal物件成員數值轉換成這個型態
GetClasses<T>(bool)
反射全系統公開類別,並取得指定類型或繼承指定類型的類別
public static IEnumerable<Type> GetClasses<T>(bool include_self = false)
Parameters
include_selfbool是否包含指定的類型的類別
Returns
- IEnumerable<Type>
迭代器,反覆返回該類別
Type Parameters
T指定類型
GetClasses<T>(Assembly, bool)
從指定組件中反射公開類別,並取得指定類型或繼承指定類型的類別
public static IEnumerable<Type> GetClasses<T>(Assembly asm, bool include_self = false)
Parameters
Returns
- IEnumerable<Type>
迭代器,反覆返回該類別
Type Parameters
T指定類型
GetCustomAttributes<T>(PropertyInfo)
從 PropertyInfo 中取得指定類型的 Attributes
public static IEnumerable<T> GetCustomAttributes<T>(PropertyInfo prop)
Parameters
propPropertyInfo成員
Returns
- IEnumerable<T>
迭代器,反覆返回指定類型的 T
Type Parameters
T定類型的 Attributes
Members(object)
反射指定物件的成員,並以迭代方式回傳成員的名稱與數值
public static IEnumerable<DictionaryEntry> Members(object obj)
Parameters
objobject要反射的物件
Returns
- IEnumerable<DictionaryEntry>
迭代器,反覆返回 DictionaryEntry,該物件的 Key 與 Value 即為成員的名稱與數值