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, üç dize bağımsız değişkeni olan ve ilk ve üçüncü bağımsız değişkeni başvuruyla geçirilen bir üye için bunu gösterir. adlı obj bir 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ç bağlanan bir COM bileşenine başvuruyla parametreler geçirilirken yöntemi aşırı yüklemesi ile Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) 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ı, üyede çağrılacak 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#'deki dizin oluşturucu) true olarak ayarlayın.

Oluşturucular

ParameterModifier(Int32)

Belirtilen sayıda parametreyi ParameterModifier temsil eden yeni bir yapı örneği 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