ParameterModifier Struktur

Definition

Fügt einen Parametermodifizierer an, sodass die Bindung mit Parametersignaturen durchgeführt werden kann, in denen die Typen geändert wurden.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
Vererbung
ParameterModifier
Attribute

Beispiele

Das folgende Codebeispiel zeigt dies für einen Member, der über drei Zeichen folgen Argumente verfügt, das erste und das dritte, die als Verweis übermittelt werden.The following code example shows this for a member that has three string arguments, the first and third of which are passed by reference. Angenommen, eine Variable namens obj enthält einen Verweis auf das COM-Objekt.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)

Hinweise

Die ParameterModifier -Struktur wird mit der Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) -Methoden Überladung verwendet, wenn Parameter als Verweis an eine COM-Komponente übergeben werden, auf die spät gebunden zugegriffen wird.The 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. Die Parameter, die als Verweis übermittelt werden sollen, werden durch eine ParameterModifier einzelne Struktur angegeben, die in einem Array mit einem einzelnen Element übermittelt werden muss.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. Die einzelne ParameterModifier Struktur in diesem Array muss mit der Anzahl von Parametern im Member initialisiert werden, der aufgerufen werden soll.The single ParameterModifier structure in this array must be initialized with the number of parameters in the member that is to be invoked. Um anzugeben, welche dieser Parameter als Verweis übergeben werden, legen Sie den Wert der Item[Int32] -Eigenschaft (Indexer in C#) auf true für die Indexnummer fest, die der NULL basierten Position des-Parameters entspricht.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.

Konstruktoren

ParameterModifier(Int32)

Initialisiert eine neue Instanz der ParameterModifier-Struktur, die die angegebene Anzahl von Parametern darstellt.Initializes a new instance of the ParameterModifier structure representing the specified number of parameters.

Eigenschaften

Item[Int32]

Ruft einen Wert ab, der angibt, ob der Parameter an der angegebenen Indexposition vom aktuellen ParameterModifier geändert werden soll, oder legt diesen fest.Gets or sets a value that specifies whether the parameter at the specified index position is to be modified by the current ParameterModifier.

Gilt für: