ParameterModifier Struktúra
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Módosító csatolása a paraméterekhez, hogy a kötés olyan paraméter-aláírásokkal működjön, amelyekben a típusok módosultak.
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
- Öröklődés
- Attribútumok
Példák
Az alábbi példakód azt mutatja be, hogy egy tagnak három sztringargumentuma van, amelyek közül az első és a harmadik hivatkozás alapján van átadva. Tegyük fel, hogy egy névvel ellátott obj változó a COM-objektumra mutató hivatkozást tartalmaz.
// 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)
Megjegyzések
A ParameterModifier struktúra a Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) metódus túlterhelésével együtt használatos, amikor paramétereket ad át egy későn kötött COM-összetevőre hivatkozva. A hivatkozással átadni kívánt paramétereket egyetlen ParameterModifier struktúra határozza meg, amelyet egy egyetlen elemet tartalmazó tömbben kell átadni. A tömb egyetlen ParameterModifier struktúráját inicializálni kell a meghívni kívánt tag paramétereinek számával. Ha meg szeretné jelölni, hogy ezek közül a paraméterek közül melyiket adja át hivatkozással, állítsa a tulajdonság értékét Item[] (a C#-ban lévő indexelőt) true a paraméter nulla alapú pozíciójának megfelelő indexszámra.
Konstruktorok
| Name | Description |
|---|---|
| ParameterModifier(Int32) |
Inicializálja a struktúra új példányát, ParameterModifier amely a megadott számú paramétert jelöli. |
Tulajdonságok
| Name | Description |
|---|---|
| Item[Int32] |
Lekéri vagy beállít egy értéket, amely meghatározza, hogy a megadott indexpozícióban lévő paramétert az aktuális ParameterModifiermódosítja-e. |