DynamicMethod.DefineParameter(Int32, ParameterAttributes, String) Метод

Определение

Определяет параметр динамического метода.

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

Параметры

position
Int32

Позиция параметра в списке параметров. Параметры индексируются, начиная с номера 1 для первого параметра.

attributes
ParameterAttributes

Битовая комбинация значений ParameterAttributes, определяющая атрибуты параметра.

parameterName
String

Имя параметра. Имя может быть строкой нулевой длины.

Возвращаемое значение

ParameterBuilder

Всегда возвращает значение null.

Исключения

Метод не имеет параметров.

-или- Значение параметраposition меньше 0.

-или- position превышает число параметров метода.

Примеры

В следующем примере кода показано, как определить сведения о параметрах для динамического метода. Этот пример входит в состав более крупного примера использования класса DynamicMethod.

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

Комментарии

Если position значение равно 0, DefineParameter метод ссылается на возвращаемое значение. Задание сведений о параметрах не влияет на возвращаемое значение.

Если динамический метод уже завершен, вызвав CreateDelegate метод или Invoke метод, DefineParameter этот метод не действует. Исключение не выдается.

Применяется к