DynamicMethod.DefineParameter(Int32, ParameterAttributes, String) Metodo

Definizione

Definisce un parametro del metodo dinamico.

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

Parametri

position
Int32

Posizione del parametro nell'elenco dei parametri. I parametri sono indicizzati a partire da 1 per il primo parametro.

attributes
ParameterAttributes

Combinazione bit per bit di valori di ParameterAttributes che specifica gli attributi del parametro.

parameterName
String

Nome del parametro. Il nome può essere una stringa di lunghezza zero.

Restituisce

Restituisce sempre null.

Eccezioni

Il metodo non ha parametri.

-oppure-

position è minore di 0.

-oppure-

position è maggiore del numero dei parametri del metodo.

Esempio

Nell'esempio di codice seguente viene illustrato come definire le informazioni sui parametri per un metodo dinamico. Questo esempio di codice fa parte di un esempio più ampio fornito per la 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")

Commenti

Se position è 0, il DefineParameter metodo fa riferimento al valore restituito. L'impostazione delle informazioni sui parametri non ha alcun effetto sul valore restituito.

Se il metodo dinamico è già stato completato, chiamando il CreateDelegate metodo o Invoke , il DefineParameter metodo non ha alcun effetto. Non viene generata alcuna eccezione.

Si applica a