ContractOptionAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Позволяет задавать параметры контракта и инструментов при сборке, типе или детализации метода.
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
- Наследование
- Атрибуты
Комментарии
В следующей таблице показаны поддерживаемые в настоящее время параметры.
| Категория | Setting | Значение и эффект |
|---|---|---|
| контракт | Наследования |
true включение наследования контракта; false чтобы отключить его. Значение по умолчанию — true. |
| runtime | Проверка |
true включение проверки во время выполнения; false чтобы отключить его. Значение по умолчанию — true. |
Этот атрибут можно использовать, как показано в следующих примерах.
Чтобы отключить проверку времени выполнения для всей сборки:
[assembly:ContractOption("runtime", "checking", false)]
Чтобы включить проверку контракта во время выполнения для определенного типа:
[ContractOption("runtime", "checking", true)]
class TypeWithRuntimeChecking {
...
Чтобы отключить проверку времени выполнения для определенного метода:
// 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(...) {
...
}
}
Конструкторы
| Имя | Описание |
|---|---|
| ContractOptionAttribute(String, String, Boolean) |
Инициализирует новый экземпляр класса с помощью предоставленной ContractOptionAttribute категории, параметра и включения или отключения значения. |
| ContractOptionAttribute(String, String, String) |
Инициализирует новый экземпляр класса с помощью предоставленной ContractOptionAttribute категории, параметра и значения. |
Свойства
| Имя | Описание |
|---|---|
| Category |
Возвращает категорию параметра. |
| Enabled |
Определяет, включен ли параметр. |
| Setting |
Возвращает параметр параметра. |
| TypeId |
При реализации в производном классе получает уникальный идентификатор для этого Attribute. (Унаследовано от Attribute) |
| Value |
Возвращает значение параметра. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. (Унаследовано от Attribute) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
| Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к свойствам и методам, предоставляемым объектом. (Унаследовано от Attribute) |