WriteOnlyArrayAttribute Kelas
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.
Saat diterapkan ke parameter array dalam komponen Windows Runtime, menentukan bahwa konten array yang diteruskan ke parameter tersebut hanya digunakan untuk output. Pemanggil tidak menjamin bahwa konten diinisialisasi, dan metode yang disebut tidak boleh membaca konten.
public ref class WriteOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class WriteOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type WriteOnlyArrayAttribute = class
inherit Attribute
Public NotInheritable Class WriteOnlyArrayAttribute
Inherits Attribute
- Warisan
- 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 konten array yang akan digunakan hanya untuk input.
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 WriteOnlyArrayAttribute atribut berperilaku berbeda tergantung pada apakah pemanggil ditulis dalam kode asli atau kode terkelola. Jika pemanggil adalah kode asli (ekstensi komponen JavaScript atau Visual C++), metode yang disebut tidak dapat membuat asumsi tentang konten array asli. Misalnya, array yang diterima metode mungkin tidak diinisialisasi, atau mungkin berisi nilai default. Metode ini diharapkan untuk mengatur nilai semua elemen dalam array.
Jika pemanggil adalah kode terkelola, array asli penelepon diteruskan ke metode yang disebut, karena akan berada dalam panggilan metode apa pun di .NET Framework. Konten array dapat diubah dalam kode terkelola, sehingga metode dapat secara selektif membaca dan mengubah nilai-nilai tersebut. Ini penting untuk diingat karena memengaruhi pengujian unit yang ditulis untuk komponen Windows Runtime. Jika pengujian ditulis dalam kode terkelola, konten array akan tampak dapat diubah selama pengujian, dan hasilnya kemungkinan berbeda jika metode dipanggil dari kode asli nanti.
Menerapkan atribut ini ke out
parameter atau ke parameter yang memiliki InAttribute atribut menyebabkan kesalahan saat modul diekspor. Menerapkan atribut ke parameter yang memiliki OutAttribute atribut menyebabkan kesalahan kecuali parameter juga memiliki pengubah Visual Basic ByRef
. Dalam hal ini, atributnya berlebihan tetapi diizinkan.
Konstruktor
WriteOnlyArrayAttribute() |
Menginisialisasi instans baru kelas WriteOnlyArrayAttribute. |
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 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 yang 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) |