ParameterModifier Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Připojí modifikátor k parametrům, aby vazba fungovala s podpisy parametrů, ve kterých byly typy změněny.
public value class ParameterModifier
public readonly struct ParameterModifier
public struct ParameterModifier
[System.Serializable]
public struct ParameterModifier
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct ParameterModifier
type ParameterModifier = struct
[<System.Serializable>]
type ParameterModifier = struct
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ParameterModifier = struct
Public Structure ParameterModifier
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje tento člen, který má tři řetězcové argumenty, první a třetí, které jsou předány odkazem. Předpokládejme, že proměnná s názvem obj
obsahuje odkaz na objekt COM.
// Create an array containing the arguments.
array<Object^>^ args = {"Argument 1", "Argument 2", "Argument 3" };
// Initialize a ParameterModifier with the number of parameters.
ParameterModifier p = ParameterModifier(3);
// Pass the first and third parameters by reference.
p[0] = true;
p[2] = true;
// The ParameterModifier must be passed as the single element
// of an array.
array<ParameterModifier>^ mods = { p };
// Invoke the method late bound.
obj->GetType()->InvokeMember("MethodName", BindingFlags::InvokeMethod,
nullptr, obj, args, mods, nullptr, nullptr);
// Create an array containing the arguments.
object[] args = {"Argument 1", "Argument 2", "Argument 3" };
// Initialize a ParameterModifier with the number of parameters.
ParameterModifier p = new ParameterModifier(3);
// Pass the first and third parameters by reference.
p[0] = true;
p[2] = true;
// The ParameterModifier must be passed as the single element
// of an array.
ParameterModifier[] mods = { p };
// Invoke the method late bound.
obj.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod,
null, obj, args, mods, null, null);
' Create an array containing the arguments.
Dim args As Object = {"Argument 1", "Argument 2", "Argument 3" }
' Initialize a ParameterModifier with the number of parameters.
Dim p As New ParameterModifier(3)
' Pass the first and third parameters by reference.
p(0) = True
p(2) = True
' The ParameterModifier must be passed as the single element
' of an array.
Dim mods() As ParameterModifier = { p }
' Invoke the method late bound.
obj.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod, _
Nothing, obj, args, mods, Nothing, Nothing)
Poznámky
Struktura ParameterModifier se používá s Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) přetížením metody při předávání parametrů odkazem na komponentu COM, která je přístupná pozdní vazby. Parametry, které mají být předány odkazem, jsou určeny jednou ParameterModifier strukturou, která musí být předána v poli obsahujícím jeden prvek. Jedna ParameterModifier struktura v tomto poli musí být inicializována s počtem parametrů v členu, který má být vyvolán. Chcete-li určit, které z těchto parametrů jsou předány odkazem, nastavte hodnotu Item[] vlastnosti (indexer v jazyce C#) na true
číslo indexu odpovídající nulové pozici parametru.
Konstruktory
ParameterModifier(Int32) |
Inicializuje novou instanci ParameterModifier struktury představující zadaný počet parametrů. |
Vlastnosti
Item[Int32] |
Získá nebo nastaví hodnotu, která určuje, zda parametr na zadané pozici indexu má být změněn aktuální ParameterModifier. |