ReadOnlyArrayAttribute Kelas

Definisi

Saat diterapkan ke parameter array dalam komponen Windows Runtime, menentukan bahwa konten array yang diteruskan ke parameter tersebut hanya digunakan untuk input. Pemanggil mengharapkan array tidak berubah oleh panggilan.

public ref class ReadOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class ReadOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type ReadOnlyArrayAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyArrayAttribute
Inherits Attribute
Warisan
ReadOnlyArrayAttribute
Atribut

Keterangan

Jika parameter array di komponen Windows Runtime Anda diteruskan oleh nilai (ByVal di Visual Basic), Anda harus menerapkan salah satu atribut berikut ke dalamnya:

  • Terapkan ReadOnlyArrayAttribute atribut jika Anda berniat untuk konten array yang akan digunakan untuk input saja.

  • WriteOnlyArrayAttribute Terapkan atribut jika Anda berniat konten array yang akan digunakan hanya untuk output (yaitu, metode mengatur konten array tetapi tidak membacanya).

Menerapkan kedua atribut ke parameter menyebabkan kesalahan. Untuk informasi selengkapnya, termasuk pola standar untuk membuat perubahan pada array, lihat Meneruskan array ke komponen Windows Runtime di Windows Dev Center.

Penting

Parameter yang memiliki ReadOnlyArrayAttribute atribut berperilaku berbeda tergantung pada apakah penelepon ditulis dalam kode asli atau kode terkelola. Jika pemanggil adalah kode asli (ekstensi komponen JavaScript atau Visual C++), array disalin saat panggilan melewati batas antarmuka biner aplikasi (ABI). Elemen dikonversi jika perlu. Oleh karena itu, setiap perubahan yang tidak disengaja yang dilakukan metode pada array input-saja tidak terlihat oleh pemanggil.

Jika penelepon adalah kode terkelola, array tidak disalin. Array asli tersedia untuk metode yang disebut, karena akan berada dalam panggilan metode apa pun di .NET Framework. Konten array dapat diubah dalam kode .NET Framework, sehingga setiap perubahan yang dilakukan metode pada array terlihat oleh pemanggil. Ini penting untuk diingat karena mempengaruhi pengujian unit yang ditulis untuk komponen Windows Runtime. Jika pengujian ditulis dalam kode terkelola, konten array akan tampak dapat diubah selama pengujian.

Menerapkan atribut ini ke parameter yang memiliki InAttribute atribut atau OutAttribute menyebabkan kesalahan saat modul diekspor. Menerapkan atribut ke out parameter juga menyebabkan kesalahan.

Konstruktor

ReadOnlyArrayAttribute()

Menginisialisasi instans baru kelas ReadOnlyArrayAttribute.

Properti

TypeId

Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute.

(Diperoleh dari Attribute)

Metode

Equals(Object)

Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

(Diperoleh dari Attribute)
GetHashCode()

Mengembalikan kode hash untuk instans ini.

(Diperoleh dari Attribute)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
IsDefaultAttribute()

Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan.

(Diperoleh dari Attribute)
Match(Object)

Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

(Diperoleh dari Attribute)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai.

(Diperoleh dari Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka.

(Diperoleh dari Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1).

(Diperoleh dari Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Menyediakan akses ke properti dan metode yang diekspos oleh objek.

(Diperoleh dari Attribute)

Berlaku untuk

Lihat juga