ParameterModifier Estrutura
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Anexa um modificador aos parâmetros para que a ligação possa funcionar com assinaturas de parâmetros em que os tipos foram modificados.
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
- Herança
- Atributos
Exemplos
O exemplo de código seguinte mostra isto para um membro que tem três argumentos de cadeia, sendo que o primeiro e o terceiro são passados por referência. Assuma que uma variável nomeada obj contém uma referência ao objeto 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)
Observações
A ParameterModifier estrutura é usada com o Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) método sobrecarregado ao passar parâmetros por referência a um componente COM que é acedido tardiamente. Os parâmetros que devem ser passados por referência são especificados por uma única ParameterModifier estrutura, que deve ser passada num array contendo um único elemento. A única ParameterModifier estrutura neste array deve ser inicializada com o número de parâmetros no membro a ser invocado. Para indicar quais destes parâmetros são passados por referência, defina o valor da Item[] propriedade (o indexador em C#) para true o número de índice correspondente à posição zero do parâmetro.
Construtores
| Name | Description |
|---|---|
| ParameterModifier(Int32) |
Inicializa uma nova instância da ParameterModifier estrutura que representa o número especificado de parâmetros. |
Propriedades
| Name | Description |
|---|---|
| Item[Int32] |
Obtém ou define um valor que especifica se o parâmetro na posição do índice especificado deve ser modificado pela corrente ParameterModifier. |