ParameterModifier Struktur

Definition

Fügt einen Parametermodifizierer an, sodass die Bindung mit Parametersignaturen durchgeführt werden kann, in denen die Typen geändert wurden.

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
Vererbung
ParameterModifier
Attribute

Beispiele

Im folgenden Codebeispiel wird dies für ein Element gezeigt, das drei Zeichenfolgenargumente enthält, das erste und dritte davon wird durch Verweis übergeben. Angenommen, eine Variable mit dem Namen obj enthält einen Verweis auf das COM-Objekt.

// 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 Methodenüberladung beim Übergeben von Parametern verwendet, indem auf eine COM-Komponente verwiesen wird, auf die Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) spät gebunden zugegriffen wird. Die Parameter, die durch Verweis übergeben werden sollen, werden durch eine einzelne ParameterModifier Struktur angegeben, die in einem Array mit einem einzelnen Element übergeben werden muss. Die einzelne ParameterModifier Struktur in diesem Array muss mit der Anzahl der Parameter im Element initialisiert werden, das aufgerufen werden soll. Um anzugeben, welche dieser Parameter durch Verweis übergeben werden, legen Sie den Wert Item[] der Eigenschaft (der Indexer in C#) true für die Indexnummer fest, die der nullbasierten Position des Parameters entspricht.

Konstruktoren

ParameterModifier(Int32)

Initialisiert eine neue Instanz der ParameterModifier-Struktur, die die angegebene Anzahl von Parametern darstellt.

Eigenschaften

Item[Int32]

Ruft einen Wert ab, der angibt, ob der Parameter an der angegebenen Indexposition durch den aktuellen ParameterModifier geändert werden soll, oder legt diesen Wert fest.

Gilt für: