MethodBuilder.Invoke Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Dinamikusan meghívja a példány által tükrözött metódust az adott objektumon, a megadott paraméterek mentén haladva, az adott kötés kényszerei mellett.
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
Paraméterek
- obj
- Object
Az az objektum, amelyen a megadott metódust meg kell hívni. Ha a metódus statikus, a paraméter figyelmen kívül lesz hagyva.
- invokeAttr
- BindingFlags
Ennek egy bitjelzőnek kell lennie a következőtől BindingFlags : InvokeMethod, NonPublicés így tovább.
- binder
- Binder
Olyan objektum, amely lehetővé teszi az argumentumtípusok kötését, kényszerítését, a tagok meghívását és a MemberInfo-objektumok visszatükrözéssel történő lekérését. Ha a binder az null, akkor a rendszer az alapértelmezett iratgyűjtőt használja. További részletekért lásd: Binder.
- parameters
- Object[]
Argumentumlista. Ez az argumentumok tömbje, amelynek száma, sorrendje és típusa megegyezik a meghívandó metódus paramétereivel. Ha nincsenek paraméterek, ennek a következőnek kell lennie null: .
- culture
- CultureInfo
A típusok kényszerítésének szabályozására használt példány CultureInfo . Ha ez null érték, a rendszer az CultureInfo aktuális szálat használja. (Vegye figyelembe, hogy ez szükséges például egy 1000-et jelentő érték értékké alakításához StringDouble , mivel az 1000-et különböző kultúrák képviselik.)
Válaszok
A meghívott metódus visszatérési értékét tartalmazó objektumot ad vissza.
Kivételek
Ez a módszer jelenleg nem támogatott. Kérje le a metódust a visszaadott metódus használatával GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) és hívásávalInvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).MethodInfo
Megjegyzések
Ha a metódus statikus, a obj paraméter figyelmen kívül lesz hagyva. Nem statikus metódusok esetén olyan osztálypéldánynak kell lennie, obj amely örökli vagy deklarálja a metódust, és ugyanolyan típusúnak kell lennie, mint ez az osztály. Ha a metódus nem rendelkezik paraméterekkel, az értéknek parameters a következőnek kell lennie null: . Ellenkező esetben a paramétertömb elemeinek számának, típusának és sorrendjének meg kell egyeznie a példány által tükrözött metódus paramétereinek számával, típusával és sorrendjével.
Note
A hozzáférési korlátozásokat a rendszer figyelmen kívül hagyja a teljes mértékben megbízható kód esetében. Vagyis a magánkonstruktorok, metódusok, mezők és tulajdonságok akkor érhetők el és hívhatók meg a Reflection használatával, ha a kód teljes mértékben megbízható.