Udostępnij za pośrednictwem


ParameterModifier Struktura

Definicja

Dołącza modyfikator do parametrów, aby powiązanie mogło działać z podpisami parametrów, w których zostały zmodyfikowane typy.

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
Dziedziczenie
ParameterModifier
Atrybuty

Przykłady

Poniższy przykład kodu pokazuje to dla elementu członkowskiego z trzema argumentami ciągu, z których pierwsza i trzecia są przekazywane przez odwołanie. Załóżmy, że zmienna o nazwie obj zawiera odwołanie do obiektu 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)

Uwagi

Struktura ParameterModifier jest używana z Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) przeciążeniem metody podczas przekazywania parametrów przez odwołanie do składnika COM, który jest uzyskiwany do późnej granicy. Parametry, które mają zostać przekazane przez odwołanie, są określane przez jedną ParameterModifier strukturę, która musi zostać przekazana w tablicy zawierającej jeden element. Pojedyncza ParameterModifier struktura w tej tablicy musi zostać zainicjowana z liczbą parametrów w składowej, która ma zostać wywołana. Aby wskazać, które z tych parametrów są przekazywane przez odwołanie, ustaw wartość Item[] właściwości (indeksator w języku C#) dla true numeru indeksu odpowiadającego pozycji zerowej parametru.

Konstruktory

ParameterModifier(Int32)

Inicjuje ParameterModifier nowe wystąpienie struktury reprezentującej określoną liczbę parametrów.

Właściwości

Item[Int32]

Pobiera lub ustawia wartość określającą, czy parametr na określonej pozycji indeksu ma zostać zmodyfikowany przez bieżący ParameterModifierparametr .

Dotyczy