DynamicMethod.DefineParameter(Int32, ParameterAttributes, String) Metodo

Definizione

Definisce un parametro del metodo dinamico.Defines a parameter of the dynamic method.

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);
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

Parametri

position
Int32

Posizione del parametro nell'elenco dei parametri.The position of the parameter in the parameter list. I parametri sono indicizzati a partire da 1 per il primo parametro.Parameters are indexed beginning with the number 1 for the first parameter.

attributes
ParameterAttributes

Combinazione bit per bit di valori di ParameterAttributes che specifica gli attributi del parametro.A bitwise combination of ParameterAttributes values that specifies the attributes of the parameter.

parameterName
String

Nome del parametro.The name of the parameter. Il nome può essere una stringa di lunghezza zero.The name can be a zero-length string.

Restituisce

ParameterBuilder

Restituisce sempre null.Always returns null.

Eccezioni

Il metodo non ha parametri.The method has no parameters.

-oppure--or- position è minore di 0.position is less than 0.

-oppure--or- position è maggiore del numero dei parametri del metodo.position is greater than the number of the method's parameters.

Esempio

Nell'esempio di codice seguente viene illustrato come definire le informazioni sui parametri per un metodo dinamico.The following code example shows how to define parameter information for a dynamic method. Questo esempio di codice fa parte di un esempio più ampio fornito per la DynamicMethod classe.This code example is part of a larger example provided for the DynamicMethod class.

// 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")

Commenti

Se position è 0, il DefineParameter metodo fa riferimento al valore restituito.If position is 0, the DefineParameter method refers to the return value. L'impostazione delle informazioni sui parametri non ha alcun effetto sul valore restituito.Setting parameter information has no effect on the return value.

Se il metodo dinamico è già stato completato, chiamando il CreateDelegate metodo o Invoke , il DefineParameter metodo non ha alcun effetto.If the dynamic method has already been completed, by calling the CreateDelegate or Invoke method, the DefineParameter method has no effect. Non viene generata alcuna eccezione.No exception is thrown.

Si applica a