ParameterModifier Struct

Definition

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

public value class ParameterModifier
public struct ParameterModifier
[System.Serializable]
public struct ParameterModifier
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct ParameterModifier
type ParameterModifier = struct
Public Structure ParameterModifier
Inheritance
ParameterModifier
Attributes

Examples

다음 코드 예제에서는 세 개의 문자열 인수를 갖는 멤버에 대 한이 보여 줍니다, 그리고 첫 번째 및 세 번째는 참조로 전달 됩니다.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)

Remarks

ParameterModifier 구조체는 런타임에 바인딩된 COM 구성 요소에 대 한 참조로 매개 변수를 전달할 때 Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) 메서드 오버 로드와 함께 사용 됩니다.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[] 속성의 값 (의 C#인덱서)을 매개 변수의 0부터 시작 하는 위치에 해당 하는 인덱스 번호에 대 한 true로 설정 합니다.To indicate which of these parameters are passed by reference, set the value of the Item[] property (the indexer in C#) to true for the index number corresponding to the zero-based position of the parameter.

Constructors

ParameterModifier(Int32)

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

Properties

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.

Applies to