ParameterModifier 구조체

정의

바인딩이 형식이 수정된 매개 변수 서명에서 작동되도록 매개 변수에 한정자를 연결합니다.Attaches a modifier to parameters so that binding can work with parameter signatures in which the types have been modified.

public value class ParameterModifier
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct ParameterModifier
type ParameterModifier = struct
Public Structure ParameterModifier
상속
ParameterModifier
특성

예제

다음 코드 예제에서는 세 개의 문자열 인수를 갖는 멤버에 대 한이 보여 줍니다, 그리고 첫 번째 및 세 번째는 참조로 전달 됩니다.The following code example shows this for a member that has three string arguments, the first and third of which are passed by reference. 가정 변수로 obj COM 개체에 대 한 참조를 포함 합니다.Assume that a variable named obj contains a reference to the COM object.

// 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)

설명

합니다 ParameterModifier 구조체를 사용 합니다 Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) 런타임에 바인딩된 액세스는 COM 구성 요소에 대 한 참조로 매개 변수를 전달 하면 메서드 오버 로드 합니다.The ParameterModifier structure is used with the Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) method overload when passing parameters by reference to a COM component that is accessed late bound. 단일 참조로 전달 되는 매개 변수를 지정 된 ParameterModifier 구조를 단일 요소를 포함 하는 배열을 전달 해야 합니다.The parameters that are to be passed by reference are specified by a single ParameterModifier structure, which must be passed in an array containing a single element. 단일 ParameterModifier 호출할 멤버의 매개 변수 개수를 사용 하 여이 배열의 구조체를 초기화 합니다.The single ParameterModifier structure in this array must be initialized with the number of parameters in the member that is to be invoked. 참조로 전달 되는 매개이 변수를 나타내려면 값을 설정 합니다 Item[Int32] 속성 (C# 인덱서)을 true 매개 변수의 0부터 시작 위치에 해당 하는 인덱스 번호에 대 한 합니다.To indicate which of these parameters are passed by reference, set the value of the Item[Int32] property (the indexer in C#) to true for the index number corresponding to the zero-based position of the parameter.

생성자

ParameterModifier(Int32)

지정된 수의 매개 변수를 나타내는 ParameterModifier 구조체의 새 인스턴스를 초기화합니다.Initializes a new instance of the ParameterModifier structure representing the specified number of parameters.

속성

Item[Int32]

지정된 인덱스 위치에 있는 매개 변수가 현재 ParameterModifier에 의해 수정될 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that specifies whether the parameter at the specified index position is to be modified by the current ParameterModifier.

적용 대상