Aracılığıyla paylaş


ParameterModifier Yapı

Tanım

Bağlamanın türlerin değiştirildiği parametre imzalarıyla çalışabilmesi için parametrelere bir değiştirici ekler.

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
Devralma
ParameterModifier
Öznitelikler

Örnekler

Aşağıdaki kod örneği, ilki ve üçüncüsü başvuruyla geçirilen üç dize bağımsız değişkeni olan bir üye için bunu gösterir. adlı obj değişkenin COM nesnesine başvuru içerdiğini varsayalım.

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

Açıklamalar

Yapı ParameterModifier , geç sınıra Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) erişilen bir COM bileşenine başvuru yoluyla parametreler geçirilirken yöntem aşırı yüklemesi ile birlikte kullanılır. Başvuru tarafından geçirilecek parametreler, tek ParameterModifier bir öğe içeren bir dizide geçirilmesi gereken tek bir yapı tarafından belirtilir. Bu dizideki tek ParameterModifier yapı, çağrılacak üyedeki parametre sayısıyla başlatılmalıdır. Bu parametrelerden hangilerinin başvuruya göre geçirildiğini belirtmek için, parametrenin Item[] sıfır tabanlı konumuna karşılık gelen dizin numarası için özelliğinin değerini (C# dilinde dizin oluşturucu) true olarak ayarlayın.

Oluşturucular

ParameterModifier(Int32)

Belirtilen sayıda parametreyi ParameterModifier temsil eden yapının yeni bir örneğini başlatır.

Özellikler

Item[Int32]

Belirtilen dizin konumundaki parametrenin geçerli ParameterModifiertarafından değiştirilip değiştirilmeyeceğini belirten bir değer alır veya ayarlar.

Şunlara uygulanır