Udostępnij za pośrednictwem


DynamicMethod.DefineParameter(Int32, ParameterAttributes, String) Metoda

Definicja

Definiuje parametr metody dynamicznej.

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

Parametry

position
Int32

Pozycja parametru na liście parametrów. Parametry są indeksowane od liczby 1 dla pierwszego parametru.

attributes
ParameterAttributes

Bitowa kombinacja ParameterAttributes wartości, która określa atrybuty parametru.

parameterName
String

Nazwa parametru. Nazwa może być ciągiem o zerowej długości.

Zwraca

Zawsze zwraca wartość null.

Wyjątki

Metoda nie ma parametrów.

-lub-

position wartość jest mniejsza niż 0.

-lub-

position parametrów metody jest większa niż liczba parametrów metody.

Przykłady

Poniższy przykład kodu przedstawia sposób definiowania informacji o parametrach dla metody dynamicznej. Ten przykład kodu jest częścią większego przykładu udostępnionego DynamicMethod dla klasy .

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

Uwagi

Jeśli position wartość to 0, DefineParameter metoda odwołuje się do wartości zwracanej. Ustawienie informacji o parametrach nie ma wpływu na wartość zwracaną.

Jeśli metoda dynamiczna została już ukończona, wywołując metodę CreateDelegate or Invoke , DefineParameter metoda nie ma wpływu. Wyjątek nie jest zgłaszany.

Dotyczy