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