ContractOptionAttribute Class
Definition
Enables you to set contract and tool options at assembly, type, or method granularity.
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
type ContractOptionAttribute = class
inherit Attribute
Public NotInheritable Class ContractOptionAttribute
Inherits Attribute
- Inheritance
- Attributes
Remarks
The following table shows the currently supported options.
Category | Setting | Value/effect |
---|---|---|
contract | inheritance | true to turn contract inheritance on; false to turn it off. The default is true . |
runtime | checking | true to turn run-time checking on; false to turn it off. The default is true . |
You can use this attribute as illustrated in the following examples.
To turn off run-time checking for the entire assembly:
[assembly:ContractOption("runtime", "checking", false)]
To turn run-time contract checking on for a specific type:
[ContractOption("runtime", "checking", true)]
class TypeWithRuntimeChecking {
...
To turn run-time checking off for a specific method:
// 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(...) {
...
}
}
Constructors
ContractOptionAttribute(String, String, Boolean) |
Initializes a new instance of the ContractOptionAttribute class by using the provided category, setting, and enable/disable value. |
ContractOptionAttribute(String, String, String) |
Initializes a new instance of the ContractOptionAttribute class by using the provided category, setting, and value. |
Properties
Category |
Gets the category of the option. |
Enabled |
Determines if an option is enabled. |
Setting |
Gets the setting for the option. |
TypeId |
When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute) |
Value |
Gets the value for the option. |
Methods
Equals(Object) |
Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute) |
GetHashCode() |
Returns the hash code for this instance. (Inherited from Attribute) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
IsDefaultAttribute() |
When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute) |
Match(Object) |
When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Explicit Interface Implementations
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Provides access to properties and methods exposed by an object. (Inherited from Attribute) |