Bagikan melalui


ParameterModifier Struktur

Definisi

Melampirkan pengubah ke parameter sehingga pengikatan dapat bekerja dengan tanda tangan parameter tempat jenis telah dimodifikasi.

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
Warisan
ParameterModifier
Atribut

Contoh

Contoh kode berikut menunjukkan ini untuk anggota yang memiliki tiga argumen string, yang pertama dan ketiga diteruskan oleh referensi. Asumsikan bahwa variabel bernama obj berisi referensi ke objek COM.

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

Keterangan

Struktur ParameterModifier digunakan dengan Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) metode kelebihan beban saat meneruskan parameter dengan merujuk ke komponen COM yang diakses terlambat terikat. Parameter yang akan diteruskan oleh referensi ditentukan oleh struktur tunggal ParameterModifier , yang harus diteruskan dalam array yang berisi satu elemen. Struktur tunggal ParameterModifier dalam array ini harus diinisialisasi dengan jumlah parameter dalam anggota yang akan dipanggil. Untuk menunjukkan parameter mana yang diteruskan oleh referensi, atur nilai Item[] properti (pengindeks di C#) ke true untuk nomor indeks yang sesuai dengan posisi parameter berbasis nol.

Konstruktor

ParameterModifier(Int32)

Menginisialisasi instans baru struktur yang ParameterModifier mewakili jumlah parameter yang ditentukan.

Properti

Item[Int32]

Mendapatkan atau menetapkan nilai yang menentukan apakah parameter pada posisi indeks yang ditentukan akan dimodifikasi oleh saat ini ParameterModifier.

Berlaku untuk