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

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

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

Всегда возвращает значение 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")

Комментарии

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

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

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