ParameterModifier Struct
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Collega un modificatore ai parametri in modo che l'associazione possa funzionare con le firme dei parametri in cui i tipi sono stati modificati.
public value class ParameterModifier
[System.Serializable]
public struct ParameterModifier
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct ParameterModifier
public struct ParameterModifier
public readonly struct ParameterModifier
[<System.Serializable>]
type ParameterModifier = struct
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ParameterModifier = struct
type ParameterModifier = struct
Public Structure ParameterModifier
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato questo oggetto per un membro con tre argomenti stringa, il primo e il terzo dei quali vengono passati per riferimento. Si supponga che una variabile denominata obj contenga un riferimento all'oggetto COM.
// 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)
Commenti
La ParameterModifier struttura viene utilizzata con l'overload del Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) metodo quando si passano parametri per riferimento a un componente COM a cui si accede in ritardo. I parametri da passare per riferimento vengono specificati da una singola ParameterModifier struttura, che deve essere passata in una matrice contenente un singolo elemento. La singola ParameterModifier struttura in questa matrice deve essere inizializzata con il numero di parametri nel membro da richiamare. Per indicare quale di questi parametri vengono passati per riferimento, impostare il valore della Item[] proprietà (l'indicizzatore in C#) su true per il numero di indice corrispondente alla posizione in base zero del parametro.
Costruttori
| Nome | Descrizione |
|---|---|
| ParameterModifier(Int32) |
Inizializza una nuova istanza della ParameterModifier struttura che rappresenta il numero specificato di parametri. |
Proprietà
| Nome | Descrizione |
|---|---|
| Item[Int32] |
Ottiene o imposta un valore che specifica se il parametro in corrispondenza della posizione di indice specificata deve essere modificato dall'oggetto corrente ParameterModifier. |