DynamicMethod.DefineParameter(Int32, ParameterAttributes, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define um parâmetro do método dinâmico.
public:
System::Reflection::Emit::ParameterBuilder ^ DefineParameter(int position, System::Reflection::ParameterAttributes attributes, System::String ^ parameterName);
public System.Reflection.Emit.ParameterBuilder? DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string? parameterName);
public System.Reflection.Emit.ParameterBuilder DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string parameterName);
member this.DefineParameter : int * System.Reflection.ParameterAttributes * string -> System.Reflection.Emit.ParameterBuilder
Public Function DefineParameter (position As Integer, attributes As ParameterAttributes, parameterName As String) As ParameterBuilder
Parâmetros
- position
- Int32
A posição do parâmetro na lista de parâmetros. Os parâmetros são indexados começando com o número 1 para o primeiro parâmetro.
- attributes
- ParameterAttributes
Uma combinação bit a bit de valores ParameterAttributes que especifica os atributos do parâmetro.
- parameterName
- String
O nome do parâmetro. O nome pode ser uma cadeia de caracteres de comprimento zero.
Retornos
Sempre retorna null
.
Exceções
O método não tem parâmetros.
- ou -
position
é menor que 0.
- ou -
position
é maior que o número de parâmetros do método.
Exemplos
O exemplo de código a seguir mostra como definir informações de parâmetro para um método dinâmico. Este exemplo de código faz parte de um exemplo maior fornecido para a DynamicMethod classe .
// Add parameter information to the dynamic method. (This is not
// necessary, but can be useful for debugging.) For each parameter,
// identified by position, supply the parameter attributes and a
// parameter name.
hello->DefineParameter(1, ParameterAttributes::In, "message");
hello->DefineParameter(2, ParameterAttributes::In, "valueToReturn");
// Add parameter information to the dynamic method. (This is not
// necessary, but can be useful for debugging.) For each parameter,
// identified by position, supply the parameter attributes and a
// parameter name.
hello.DefineParameter(1, ParameterAttributes.In, "message");
hello.DefineParameter(2, ParameterAttributes.In, "valueToReturn");
' Add parameter information to the dynamic method. (This is not
' necessary, but can be useful for debugging.) For each parameter,
' identified by position, supply the parameter attributes and a
' parameter name.
hello.DefineParameter(1, ParameterAttributes.In, "message")
hello.DefineParameter(2, ParameterAttributes.In, "valueToReturn")
Comentários
Se position
for 0, o DefineParameter método se refere ao valor retornado. Definir informações de parâmetro não tem efeito sobre o valor retornado.
Se o método dinâmico já tiver sido concluído, chamando o CreateDelegate método ou Invoke , o DefineParameter método não terá efeito. Nenhuma exceção é gerada.