ParameterModifier Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Připojí modifikátor k parametrům tak, aby vazba fungovala s podpisy parametrů, ve kterých byly typy změněny.
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
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje to pro člen, který má tři řetězcové argumenty, z nichž první a třetí jsou předány odkazem. Předpokládejme, že proměnná s názvem obj
obsahuje odkaz na objekt 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)
Poznámky
Struktura se ParameterModifier používá s přetížením Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) metody při předávání parametrů odkazem na komponentu modelu COM, ke které se přistupuje s pozdní vazbou. Parametry, které mají být předány odkazem, jsou určeny jedinou ParameterModifier strukturou, která musí být předána v poli obsahujícím jeden prvek. Jedna ParameterModifier struktura v tomto poli musí být inicializována s počtem parametrů v členu, který má být vyvolán. Pokud chcete určit, které z těchto parametrů jsou předány odkazem, nastavte hodnotu Item[] vlastnosti (indexer v jazyce C#) true
na pro číslo indexu odpovídající nulové pozici parametru.
Konstruktory
ParameterModifier(Int32) |
Inicializuje novou instanci ParameterModifier struktury představující zadaný počet parametrů. |
Vlastnosti
Item[Int32] |
Získá nebo nastaví hodnotu, která určuje, zda parametr na zadané pozici indexu má být upraven aktuální ParameterModifier. |