ParameterModifier Struktur
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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. |