Sdílet prostřednictvím


ParameterModifier Struktura

Definice

Připojí modifikátor k parametrům tak, 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
ParameterModifier
Atributy

Příklady

Následující příklad kódu ukazuje to pro člen, který má tři řetězcové argumenty, z nichž první a třetí 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 se ParameterModifier používá s přetížením Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) metody při předávání parametrů odkazem na komponentu modelu COM, ke které se přistupuje s pozdní vazbou. Parametry, které mají být předány odkazem, jsou určeny jedinou 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. Pokud chcete určit, které z těchto parametrů jsou předány odkazem, nastavte hodnotu Item[] vlastnosti (indexer v jazyce C#) true na pro čí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 upraven aktuální ParameterModifier.

Platí pro