ConstructorBuilder.Invoke 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會動態地呼叫由此實例反映的建構子。
多載
| 名稱 | Description |
|---|---|
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
動態地在給定物件上呼叫此實例所代表的建構子,傳遞指定的參數,並在給定綁定器的約束下傳遞。 |
| Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
動態調用本實例所反映的建構子,並以指定的參數,並在指定的 |
Invoke(BindingFlags, Binder, Object[], CultureInfo)
動態地在給定物件上呼叫此實例所代表的建構子,傳遞指定的參數,並在給定綁定器的約束下傳遞。
public:
override System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
參數
- invokeAttr
- BindingFlags
這必須是來自 BindingFlags的 bit flag,例如 InvokeMethod、NonPublic,等等。
- parameters
- Object[]
一份論點清單。 這是一個與要調用建構子參數數量、順序和型別相同的參數陣列。 若無參數,則應為 null。
- culture
- CultureInfo
一個用來規範類型強制的實例 CultureInfo 。 若為空,則使用 當前執行緒的 。CultureInfo (例如,將代表 1000 的 a String 轉換成 Double 一個值是必要的,因為不同文化對 1000 的表示方式不同。)
傳回
呼叫建構子回傳的值。
例外狀況
此方法目前尚未支援。 你可以用 來 GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) 檢索構造子,並呼叫 Invoke(BindingFlags, Binder, Object[], CultureInfo) 返回 ConstructorInfo的 。
備註
若建構子沒有參數,則參數值 parameters 應為 null。 否則,陣列中 parameters 元素的數量、類型與順序應與本實例所反映的建構子參數數量、類型及順序相同。
例如,若此實例反映的建構子宣告為包含兩個字串的公共類別,則 parameters 參數應為長度為 2 Object 的陣列。
Note
完全信任的程式碼會忽略存取限制。 也就是說,只要程式碼完全受信任,私有建構子、方法、欄位和屬性都可以透過 Reflection 存取並調用。
另請參閱
適用於
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
動態調用本實例所反映的建構子,並以指定的參數,並在指定的 Binder限制下執行。
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其中一個數值用來指定想要的綁定類型。
- binder
- Binder
定義 Binder 一組屬性,並使參數類型能被綁定、強制使用,以及透過反射調用成員。 若 binder , null則使用 Binder.DefaultBinding。
- parameters
- Object[]
一份論點清單。 這是一個與要調用建構子參數數量、順序和型別相同的參數陣列。 若無參數,則應為空參考(Nothing Visual Basic)。
- culture
- CultureInfo
A CultureInfo 用來管理類型的強制。 若為空,則使用 當前執行緒的 。CultureInfo
傳回
與建構子相關聯的類別實例。
例外狀況
此方法目前尚未支援。 你可以用 來 GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) 檢索構造子,並呼叫 Invoke(BindingFlags, Binder, Object[], CultureInfo) 返回 ConstructorInfo的 。
備註
參數陣列中元素的數量、類型與順序應與本實例所反映的建構子參數數量、類型及順序相同。
在呼叫建構子之前,請 Invoke 確保呼叫者擁有存取權限,且參數的數量、順序與類型正確。
完全信任的程式碼會忽略存取限制。 也就是說,只要程式碼完全受信任,私有建構子、方法、欄位和屬性都可以透過 Reflection 存取並調用。