Поделиться через


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");
' 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 влияния. Исключение не выдается.

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