MethodBuilder.Invoke 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
動態叫用這個執行個體在指定物件上反映的方法,沿著指定參數,在指定繫結器的條件約束下傳遞。
public:
override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (object? obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
參數
- obj
- Object
要在其上叫用指定方法的物件。 如果是靜態方法,則會忽略這個參數。
- invokeAttr
- BindingFlags
必須是來自 BindingFlags 的位元旗標:InvokeMethod
、NonPublic
等。
- binder
- Binder
此物件能用來啟用繫結、引數的強制型轉、成員的引動過程,以及透過反映來擷取 MemberInfo 物件等功能。 如果繫結器為 null
,則會使用預設繫結器。 如需詳細資訊,請參閱 Binder。
- parameters
- Object[]
引數清單。 這是引數陣列,其數目、順序和類型與要叫用的方法參數相同。 如果沒有任何參數,則這應該是 null
。
- culture
- CultureInfo
CultureInfo 的執行個體,用於管理類型的強制型轉。 如果這是 null,會使用目前執行緒的 CultureInfo。 (請注意,例如,要將代表 1000 的 String 轉換成 Double 值時,這是必要的,因為 1000 的表示方式會因不同文化特性而有所不同)。
傳回
傳回包含已叫用方法之傳回值的物件。
例外狀況
目前不支援這個方法。 使用 GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) 擷取方法並在傳回的 MethodInfo 上呼叫 InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])。
備註
如果方法是靜態的,則會 obj
忽略 參數。 對於非靜態方法,應該是繼承或宣告方法之類別的實例, obj
而且類型必須與這個類別相同。 如果方法沒有參數,則的值 parameters
應該是 null
。 否則,參數陣列中元素的數目、類型和順序應該與這個實例所反映之方法的參數數目、類型和順序相同。
注意
完全信任的程式代碼會忽略存取限制。 也就是說,只要程序代碼完全信任,就可以使用 Reflection 存取和叫用私用建構函式、方法、字段和屬性。