次の方法で共有


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

パラメーターの名前。 長さ 0 の文字列も名前として可能です。

戻り値

常に 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")

注釈

が 0 の場合 position 、メソッドは DefineParameter 戻り値を参照します。 パラメーター情報の設定は、戻り値には影響しません。

動的メソッドが既に完了している場合は、 メソッドまたは Invoke メソッドをCreateDelegate呼び出すことによって、 DefineParameter メソッドに影響はありません。 例外はスローされません。

適用対象