ContractOptionAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Permite establecer opciones de contrato y herramienta en el ensamblado, tipo o granularidad del método.
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
- Herencia
- Atributos
Comentarios
En la tabla siguiente se muestran las opciones admitidas actualmente.
Category | Parámetro | Valor/efecto |
---|---|---|
contrato | herencia | true para activar la herencia del contrato; false para desactivarlo. De manera predeterminada, es true . |
motor en tiempo de ejecución | comprobar | true para activar la comprobación en tiempo de ejecución; false para desactivarlo. De manera predeterminada, es true . |
Puede usar este atributo como se muestra en los ejemplos siguientes.
Para desactivar la comprobación en tiempo de ejecución de todo el ensamblado:
[assembly:ContractOption("runtime", "checking", false)]
Para activar la comprobación del contrato en tiempo de ejecución para un tipo específico:
[ContractOption("runtime", "checking", true)]
class TypeWithRuntimeChecking {
...
Para desactivar la comprobación en tiempo de ejecución de un método específico:
// 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(...) {
...
}
}
Constructores
ContractOptionAttribute(String, String, Boolean) |
Inicializa una nueva instancia de la clase ContractOptionAttribute usando la categoría, configuración y valor para habilitar/deshabilitar especificados. |
ContractOptionAttribute(String, String, String) |
Inicializa una nueva instancia de la clase ContractOptionAttribute usando la categoría, configuración y valor especificados. |
Propiedades
Category |
Obtiene la categoría de la opción. |
Enabled |
Determina si se habilita una opción. |
Setting |
Obtiene el valor de la opción. |
TypeId |
Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Heredado de Attribute) |
Value |
Obtiene el valor para la opción. |
Métodos
Equals(Object) |
Devuelve un valor que indica si esta instancia es igual que un objeto especificado. (Heredado de Attribute) |
GetHashCode() |
Devuelve el código hash de esta instancia. (Heredado de Attribute) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
IsDefaultAttribute() |
Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada. (Heredado de Attribute) |
Match(Object) |
Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Heredado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Heredado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Heredado de Attribute) |