CLSCompliantAttribute Kelas

Definisi

Menunjukkan apakah elemen program mematuhi Spesifikasi Bahasa Umum (CLS). Kelas ini tidak dapat diwariskan.

public ref class CLSCompliantAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CLSCompliantAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
type CLSCompliantAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
type CLSCompliantAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CLSCompliantAttribute = class
    inherit Attribute
Public NotInheritable Class CLSCompliantAttribute
Inherits Attribute
Warisan
CLSCompliantAttribute
Atribut

Contoh

Contoh berikut menerapkan CLSCompliantAttribute ke seluruh rakitan.

using System;
    [assembly: CLSCompliant(true)]

Deklarasi berikut menghasilkan peringatan kepatuhan CLS karena jenisnya UInt32 tidak ditentukan dalam CLS.

public int SetValue(UInt32 value);

Jika deklarasi ditandai dengan CLSCompliantAttribute, tidak ada peringatan atau kesalahan kompilator yang dihasilkan.

[CLSCompliant(false)]
 public int SetValue(UInt32 value);

Keterangan

Atribut CLSCompliantAttribute ini digunakan untuk menunjukkan apakah elemen program tertentu mematuhi Spesifikasi Bahasa Umum (CLS), yang menentukan fitur yang harus didukung oleh bahasa apa pun yang menargetkan .NET. Kepatuhan CLS terutama menjadi perhatian pengembang pustaka yang ingin memastikan bahwa pustaka mereka dapat diakses dalam bahasa apa pun yang menargetkan .NET. Untuk informasi selengkapnya, Lihat Kemandirian Bahasa dan Komponen Language-Independent.

Anda dapat menerapkan CLSCompliantAttribute atribut ke elemen program berikut: assembly, module, class, struct, enum, constructor, method, property, field, event, interface, delegate, parameter, dan return value. Namun, gagasan kepatuhan CLS hanya bermakna untuk rakitan, modul, jenis, dan anggota jenis, bukan bagian dari tanda tangan anggota. Akibatnya, CLSCompliantAttribute diabaikan ketika diterapkan ke parameter atau mengembalikan elemen program nilai.

Jika tidak ada CLSCompliantAttribute yang diterapkan ke elemen program, maka secara default:

  • Rakitan tidak sesuai dengan CLS.

  • Jenis ini sesuai dengan CLS hanya jika jenis atau rakitannya yang tertutup mematuhi CLS.

  • Anggota jenis hanya sesuai dengan CLS jika jenisnya sesuai dengan CLS.

Jika rakitan ditandai sebagai mematuhi CLS, setiap jenis yang diekspos secara publik dalam rakitan yang tidak mematuhi CLS harus ditandai dengan CLSCompliantAttribute menggunakan false argumen. Demikian pula, jika kelas ditandai sebagai mematuhi CLS, Anda harus menandai semua anggota yang tidak mematuhi CLS secara individual. Semua anggota yang tidak patuh harus menyediakan alternatif yang sesuai dengan CLS.

Atribut yang diterapkan ke rakitan atau modul harus terjadi setelah klausa C# using (Imports di Visual Basic) dan sebelum kode.

Untuk informasi selengkapnya tentang menggunakan atribut, lihat Atribut.

Catatan

Pengkompilasi Visual Basic Microsoft saat ini sengaja tidak menghasilkan peringatan kepatuhan CLS, namun, rilis kompilator di masa mendatang akan mengeluarkan peringatan tersebut.

Konstruktor

CLSCompliantAttribute(Boolean)

Menginisialisasi instans CLSCompliantAttribute kelas dengan nilai Boolean yang menunjukkan apakah elemen program yang ditunjukkan mematuhi CLS.

Properti

IsCompliant

Mendapatkan nilai Boolean yang menunjukkan apakah elemen program yang ditunjukkan sesuai dengan CLS.

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)

Berlaku untuk

Lihat juga