Поделиться через


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
Атрибуты

Комментарии

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

Категория Параметр Значение и эффект
contract наследование true , чтобы включить наследование контракта; false , чтобы отключить его. Значение по умолчанию — true.
исполняющая среда проверка 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)

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