ParameterModifierとは? わかりやすく解説

ParameterModifier コンストラクタ

パラメータの数を指定して ParameterModifier 構造体の新しいインスタンスを初期化します。

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    parameterCount As Integer _
)
Dim parameterCount As Integer

Dim instance As New ParameterModifier(parameterCount)
public ParameterModifier (
    int parameterCount
)
public:
ParameterModifier (
    int parameterCount
)
public ParameterModifier (
    int parameterCount
)
public function ParameterModifier (
    parameterCount : int
)

パラメータ

parameterCount

パラメータの数。

例外例外
例外の種類条件

ArgumentException

parameterCount が負の値です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ParameterModifier プロパティ


ParameterModifier メソッド


ParameterModifier メンバ


ParameterModifier 構造体

型が変更されているパラメータ シグネチャとでもバインディングが機能するように、パラメータに修飾子を結び付けます。

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure ParameterModifier
Dim instance As ParameterModifier
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public struct ParameterModifier
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public value class ParameterModifier
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class ParameterModifier extends
 ValueType
JScript では、構造体を使用できますが、新規に宣言することはできません。
解説解説

ParameterModifier 構造体は、遅延バインドでアクセスした COM コンポーネントに対し、参照渡しでパラメータを渡す場合に、Type.InvokeMember メソッド オーバーロードと組み合わせて使用します。参照渡しで渡されるパラメータは、単一の ParameterModifier 構造体で指定します。この構造体は単一の要素が格納された配列として渡す必要があります。この配列に格納される単一の ParameterModifier 構造体は、呼び出すメンバのパラメータ数で初期化しておく必要があります。どのパラメータを参照渡しで渡すかを指定するには、パラメータの位置に対応する 0 から始まるインデックス番号に対して、Item プロパティ (C# ではインデクサ) の値を true に設定します。

次の Visual Basic と C# のコードでは、3 つの文字列引数を持つメンバに対し、1 つ目と 3 つ目の引数を参照渡しで渡しています。この例は、obj という名前の変数に、COM オブジェクトへの参照が格納されていることを前提としています。

    ' Create an array containing the arguments.
    Dim args() As Object
 = {"Argument 1", "Argument 2",
 "Argument 3" }

    ' Initialize a ParameterModifier with the number of parameters.
    Dim p As New ParameterModifier(3)

    ' Pass the first and third parameters by reference.
    p(0) = True
    p(2) = True

    ' The ParameterModifier must be passed as the single element
    ' of an array.
    Dim mods() As ParameterModifier = { p }

    ' Invoke the method late bound.
    obj.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod
,
         Nothing, obj, args, mods, Nothing,
 Nothing)

    // Create an array containing the arguments.
    object[] args = {"Argument 1", "Argument 2", "Argument
 3" };

    // Initialize a ParameterModifier with the number of parameters.
    ParameterModifier p = new ParameterModifier(3);

    // Pass the first and third parameters by reference.
    p[0] = true;
    p[2] = true;

    // The ParameterModifier must be passed as the single element
    // of an array.
    ParameterModifier[] mods = { p };

    // Invoke the method late bound.
    obj.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod
,
         null, obj, args, mods, null, null);
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ParameterModifier」の関連用語

ParameterModifierのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ParameterModifierのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS