閱讀英文版本

分享方式:


ParameterModifier 結構

定義

將修飾詞附加到參數,如此一來,繫結就能與已修改類型的參數簽章一同運作。

C#
public readonly struct ParameterModifier
C#
public struct ParameterModifier
C#
[System.Serializable]
public struct ParameterModifier
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct ParameterModifier
繼承
ParameterModifier
屬性

範例

下列程式代碼範例會針對具有三個字元串自變數的成員顯示這個值,第一個和第三個以傳址方式傳遞。 假設名為 obj 的變數包含 COM 物件的參考。

C#
// 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);

備註

當以參考方式傳遞參數給存取晚期綁定的 COM 元件時,結構 ParameterModifier 會與 Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) 方法多載搭配使用。 要以傳址方式傳遞的參數是由單 ParameterModifier 一結構所指定,該結構必須傳入包含單一元素的陣列中。 這個陣列中的單一 ParameterModifier 結構必須以要叫用的成員中的參數數目初始化。 若要指出這些參數的哪一個是以傳址方式傳遞,請將 屬性的值 Item[] 設定為 , (C#) true 中索引器的值,以取得對應至參數之以零起始位置的索引編號。

建構函式

ParameterModifier(Int32)

初始化 ParameterModifier 結構的新執行個體,代表指定的參數數目。

屬性

Item[Int32]

取得或設定值,指定位於指定索引位置的參數是否要由目前的 ParameterModifier 所修改。

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.5, 1.6, 2.0, 2.1