ParameterModifier 結構
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將修飾詞附加到參數,如此一來,繫結就能與已修改類型的參數簽章一同運作。
public value class ParameterModifier
public readonly struct ParameterModifier
public struct ParameterModifier
[System.Serializable]
public struct ParameterModifier
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct ParameterModifier
type ParameterModifier = struct
[<System.Serializable>]
type ParameterModifier = struct
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ParameterModifier = struct
Public Structure ParameterModifier
- 繼承
- 屬性
範例
下列程式代碼範例會針對具有三個字元串自變數的成員顯示這個值,第一個和第三個以傳址方式傳遞。 假設名為 obj
的變數包含 COM 物件的參考。
// Create an array containing the arguments.
array<Object^>^ args = {"Argument 1", "Argument 2", "Argument 3" };
// Initialize a ParameterModifier with the number of parameters.
ParameterModifier p = 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.
array<ParameterModifier>^ mods = { p };
// Invoke the method late bound.
obj->GetType()->InvokeMember("MethodName", BindingFlags::InvokeMethod,
nullptr, obj, args, mods, nullptr, nullptr);
// 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);
' 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)
備註
當以參考方式傳遞參數給存取晚期綁定的 COM 元件時,結構 ParameterModifier 會與 Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) 方法多載搭配使用。 要以傳址方式傳遞的參數是由單 ParameterModifier 一結構所指定,該結構必須傳入包含單一元素的陣列中。 這個陣列中的單一 ParameterModifier 結構必須以要叫用的成員中的參數數目初始化。 若要指出這些參數的哪一個是以傳址方式傳遞,請將 屬性的值 Item[] 設定為 , (C#) true
中索引器的值,以取得對應至參數之以零起始位置的索引編號。
建構函式
ParameterModifier(Int32) |
初始化 ParameterModifier 結構的新執行個體,代表指定的參數數目。 |
屬性
Item[Int32] |
取得或設定值,指定位於指定索引位置的參數是否要由目前的 ParameterModifier 所修改。 |