ParameterModifier Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 . |