Compartir por


AmbientValueAttribute Clase

Definición

Especifica el valor que se va a pasar a una propiedad para que la propiedad obtenga su valor de otro origen. Esto se conoce como ambiente. Esta clase no puede heredarse.

public ref class AmbientValueAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class AmbientValueAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type AmbientValueAttribute = class
    inherit Attribute
Public NotInheritable Class AmbientValueAttribute
Inherits Attribute
Herencia
AmbientValueAttribute
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar AmbientValueAttribute para aplicar el comportamiento ambiental de una propiedad denominada AlertForeColor. Para obtener una lista de código completa, vea Cómo: Aplicar atributos en controles de Formularios Windows Forms.

[AmbientValue(typeof(Color), "Empty")]
[Category("Appearance")]
[DefaultValue(typeof(Color), "White")]
[Description("The color used for painting alert text.")]
public Color AlertForeColor
{
    get =>
        _alertForeColorValue == Color.Empty &&
        Parent != null
            ? Parent.ForeColor
            : _alertForeColorValue;

    set => _alertForeColorValue = value;
}

// This method is used by designers to enable resetting the
// property to its default value.
public void ResetAlertForeColor() =>
    AlertForeColor = s_defaultAlertForeColorValue;

// This method indicates to designers whether the property
// value is different from the ambient value, in which case
// the designer should persist the value.
bool ShouldSerializeAlertForeColor() =>
    _alertForeColorValue != s_ambientColorValue;
<AmbientValue(GetType(Color), "Empty"), _
Category("Appearance"), _
DefaultValue(GetType(Color), "White"), _
Description("The color used for painting alert text.")> _
Public Property AlertForeColor() As Color
    Get
        If Me.alertForeColorValue = Color.Empty AndAlso (Me.Parent IsNot Nothing) Then
            Return Parent.ForeColor
        End If

        Return Me.alertForeColorValue
    End Get

    Set(ByVal value As Color)
        Me.alertForeColorValue = value
    End Set
End Property

' This method is used by designers to enable resetting the
' property to its default value.
Public Sub ResetAlertForeColor()
    Me.AlertForeColor = AttributesDemoControl.defaultAlertForeColorValue
End Sub

' This method indicates to designers whether the property
' value is different from the ambient value, in which case
' the designer should persist the value.
Private Function ShouldSerializeAlertForeColor() As Boolean
    Return Me.alertForeColorValue <> AttributesDemoControl.ambientColorValue
End Function

Comentarios

Si una propiedad de un control tiene un comportamiento ambiental, este atributo debe estar presente. Las propiedades ambientales consultan a sus elementos primarios para su valor, por ejemplo, una Control.Font propiedad o una Control.BackColor propiedad.

Normalmente, un diseñador visual usa el AmbientValueAttribute atributo para decidir qué valor conservar para una propiedad. Este suele ser un valor que hace que la propiedad obtenga su valor de otro origen. Un ejemplo de un valor ambiente es Color.Empty como el valor ambiente de la BackColor propiedad . Si tiene un control en un formulario y la BackColor propiedad del control se establece en un color diferente de la BackColor propiedad del formulario, puede restablecer la BackColor propiedad del control a la del formulario estableciendo el BackColor del control Color.Emptyen .

Constructores

Nombre Description
AmbientValueAttribute(Boolean)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dada un valor booleano para su valor.

AmbientValueAttribute(Byte)

Inicializa una nueva instancia de la AmbientValueAttribute clase , dado un entero de 8 bits sin signo para su valor.

AmbientValueAttribute(Char)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dada un carácter Unicode para su valor.

AmbientValueAttribute(Double)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dado un número de punto flotante de precisión doble para su valor.

AmbientValueAttribute(Int16)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dado un entero de 16 bits con signo para su valor.

AmbientValueAttribute(Int32)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dado un entero de 32 bits con signo para su valor.

AmbientValueAttribute(Int64)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dado un entero de 64 bits con signo para su valor.

AmbientValueAttribute(Object)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dado un objeto para su valor.

AmbientValueAttribute(Single)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dado un número de punto flotante de precisión única para su valor.

AmbientValueAttribute(String)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dada una cadena para su valor.

AmbientValueAttribute(Type, String)

Inicializa una nueva instancia de la AmbientValueAttribute clase, dado el valor y su tipo.

Propiedades

Nombre Description
TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)
Value

Obtiene el objeto que es el valor de este AmbientValueAttributeobjeto .

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado AmbientValueAttribute es igual al objeto actual AmbientValueAttribute.

GetHashCode()

Devuelve el código hash de esta instancia.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Cuando 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 reemplaza 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 Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
_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)

Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo 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 propiedades y métodos expuestos por un objeto .

(Heredado de Attribute)

Se aplica a