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
Наследование
ContractOptionAttribute
Атрибуты

Комментарии

В следующей таблице показаны поддерживаемые в настоящее время параметры.

Категория 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)

Применяется к