ParameterModifier Struktura

Definicja

Dołącza modyfikator do parametrów, tak aby powiązanie mogło współpracować z podpisami parametrów, w których typy zostały zmodyfikowane.Attaches a modifier to parameters so that binding can work with parameter signatures in which the types have been modified.

public value class ParameterModifier
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct ParameterModifier
type ParameterModifier = struct
Public Structure ParameterModifier
Dziedziczenie
ParameterModifier
Atrybuty

Przykłady

Poniższy przykład kodu pokazuje, że dla elementu członkowskiego, który ma trzy argumenty ciągu, pierwszy i trzeci z, które są przekazane przez odwołanie.The following code example shows this for a member that has three string arguments, the first and third of which are passed by reference. Załóżmy, że zmienna o obj nazwie zawiera odwołanie do obiektu com.Assume that a variable named obj contains a reference to the COM object.

// 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 jest używana Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) z przeciążeniem metody podczas przekazywania parametrów przez odwołanie do składnika com, do którego uzyskuje się dostęp z późnym wiązaniem. ParameterModifierThe ParameterModifier structure is used with the Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) method overload when passing parameters by reference to a COM component that is accessed late bound. Parametry, które mają być przesyłane przez odwołanie, są określane przez pojedynczą ParameterModifier strukturę, która musi zostać przeniesiona do tablicy zawierającej pojedynczy element.The parameters that are to be passed by reference are specified by a single ParameterModifier structure, which must be passed in an array containing a single element. Pojedyncza ParameterModifier struktura w tej tablicy musi zostać zainicjowana przy użyciu liczby parametrów w elemencie członkowskim, który ma zostać wywołany.The single ParameterModifier structure in this array must be initialized with the number of parameters in the member that is to be invoked. Aby wskazać, które z tych parametrów są przesyłane przez odwołanie, ustaw wartość Item[Int32] właściwości (indeksator w C#) na true dla numeru indeksu odpowiadającego pozycji parametru.To indicate which of these parameters are passed by reference, set the value of the Item[Int32] property (the indexer in C#) to true for the index number corresponding to the zero-based position of the parameter.

Konstruktory

ParameterModifier(Int32)

Inicjuje nowe wystąpienie ParameterModifier struktury reprezentującej określoną liczbę parametrów.Initializes a new instance of the ParameterModifier structure representing the specified number of parameters.

Właściwości

Item[Int32]

Pobiera lub ustawia wartość określającą, czy parametr w podanej pozycji indeksu ma być modyfikowany przez bieżący ParameterModifier.Gets or sets a value that specifies whether the parameter at the specified index position is to be modified by the current ParameterModifier.

Dotyczy