public object InvokeMember(
string name,
BindingFlags invokeAttr,
Binder binder,
object target,
object[] args
);
| 參數 | 說明 |
|---|---|
name |
要呼叫的建構函式、方法、屬性或欄位名稱。若為空字串 "",表示呼叫預設成員。 |
invokeAttr |
位元遮罩,由一或多個 BindingFlags 組成,指定搜尋與呼叫行為。常用旗標包括 Public、NonPublic、Instance、Static、InvokeMethod、GetField、SetField、GetProperty、SetProperty、CreateInstance 等。若省略查找類型,預設套用 BindingFlags.Public | BindingFlags.Instance。 |
binder |
定義一組屬性並啟用繫結的 Binder 物件,可處理多載方法選擇、參數型別強制轉換等。若為 null,使用 DefaultBinder。 |
target |
要在其上呼叫指定成員的物件實例。靜態成員可傳 null。 |
args |
傳遞給成員的參數陣列。 |
BindingFlags.Instance / Static:必須指定其中之一以取得傳回值。BindingFlags.Public:包含公用成員。BindingFlags.NonPublic:包含非公用成員(私有、受保護)。BindingFlags.FlattenHierarchy:包含繼承階層上的靜態成員。BindingFlags.DeclaredOnly:僅搜尋該型別宣告的成員,不含繼承成員。BindingFlags.IgnoreCase:忽略名稱大小寫。CreateInstance:呼叫建構函式,忽略 name。InvokeMethod:呼叫方法(非建構函式/型別初始化)。GetField / SetField:取得/設定欄位值。GetProperty / SetProperty:取得/設定屬性值。注意:調用旗標互斥,例如 InvokeMethod 不可與 SetProperty 同時使用。