ContractOptionAttribute 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.
Memungkinkan Anda mengatur opsi kontrak dan alat di perakitan, jenis, atau granularitas metode.
public ref class ContractOptionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)]
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public sealed class ContractOptionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)>]
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
type ContractOptionAttribute = class
inherit Attribute
Public NotInheritable Class ContractOptionAttribute
Inherits Attribute
- Warisan
- Atribut
Keterangan
Tabel berikut ini memperlihatkan opsi yang saat ini didukung.
Kategori | Pengaturan | Nilai/efek |
---|---|---|
contract | Warisan | true untuk mengaktifkan pewarisan kontrak; false untuk mematikannya. Default adalah true . |
runtime bahasa umum | Memeriksa | true untuk mengaktifkan pemeriksaan run-time; false untuk mematikannya. Default adalah true . |
Anda dapat menggunakan atribut ini seperti yang diilustrasikan dalam contoh berikut.
Untuk menonaktifkan pemeriksaan run-time untuk seluruh perakitan:
[assembly:ContractOption("runtime", "checking", false)]
Untuk mengaktifkan pemeriksaan kontrak run-time untuk jenis tertentu:
[ContractOption("runtime", "checking", true)]
class TypeWithRuntimeChecking {
...
Untuk menonaktifkan pemeriksaan run-time untuk metode tertentu:
// Turn off all contract inheritance from interface IList<T>
[ContractOption("contract", "inheritance", false)]
class MyConcurrentList<T> : IList<T> {
...
}
[ContractOption("runtime", "checking", false)]
public override MyMethod(int x) {
// no inherited contracts checked at runtime,
// no invariants checked at runtime.
...
}
[ContractOption("runtime", "checking", false)]
public void MethodWithoutRuntimeChecking(...) {
...
}
}
Konstruktor
ContractOptionAttribute(String, String, Boolean) |
Menginisialisasi instans ContractOptionAttribute baru kelas dengan menggunakan kategori, pengaturan, dan nilai aktifkan/nonaktifkan yang disediakan. |
ContractOptionAttribute(String, String, String) |
Menginisialisasi instans ContractOptionAttribute baru kelas dengan menggunakan kategori, pengaturan, dan nilai yang disediakan. |
Properti
Category |
Mendapatkan kategori opsi. |
Enabled |
Menentukan apakah opsi diaktifkan. |
Setting |
Mendapatkan pengaturan untuk opsi . |
TypeId |
Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute. (Diperoleh dari Attribute) |
Value |
Mendapatkan nilai untuk opsi tersebut. |
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) |