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 digunakan untuk menunjukkan apakah elemen program tertentu mematuhi Common Language Specification (CLS), yang menentukan fitur yang harus didukung oleh bahasa yang ditargetkan .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 hanya sesuai dengan CLS jika jenis atau rakitannya yang tertutup mematuhi CLS.

  • Anggota jenis hanya mematuhi CLS jika jenisnya mematuhi CLS.

Jika rakitan ditandai sebagai sesuai DENGAN CLS, 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 secara individual menandai semua anggota yang tidak mematuhi CLS. Semua anggota yang tidak patuh harus memberikan alternatif yang sesuai dengan CLS.

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

Untuk informasi selengkapnya tentang menggunakan atribut, lihat Atribut.

Note

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

Konstruktor

Nama Deskripsi
CLSCompliantAttribute(Boolean)

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

Properti

Nama Deskripsi
IsCompliant

Mendapatkan nilai Boolean yang menunjukkan apakah elemen program yang ditunjukkan mematuhi CLS.

TypeId

Ketika diimplementasikan dalam kelas turunan, mendapatkan pengidentifikasi unik untuk Attributeini.

(Diperoleh dari Attribute)

Metode

Nama Deskripsi
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 Type instans saat ini.

(Diperoleh dari Object)
IsDefaultAttribute()

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

(Diperoleh dari Attribute)
Match(Object)

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

(Diperoleh dari Attribute)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
_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