ParameterModifier Yapı
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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. |