AmbientValueAttribute Classe

Definição

Especifica o valor a transferir para uma propriedade para que esta obtenha o seu valor de outra fonte. Isto é conhecido como ambiente. Esta classe não pode ser herdada.

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
Herança
AmbientValueAttribute
Atributos

Exemplos

O exemplo de código seguinte demonstra a utilização AmbientValueAttribute para impor comportamento ambiente numa propriedade chamada AlertForeColor. Para uma listagem completa do código, veja Como: Aplicar Atributos em Controlos 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

Observações

Se uma propriedade num controlo tiver comportamento ambiente, esse atributo deve estar presente. As propriedades ambientais questionam o valor do pai, por exemplo, uma Control.Font propriedade ou uma Control.BackColor propriedade.

Normalmente, um designer visual usa o AmbientValueAttribute atributo para decidir qual o valor a manter para uma propriedade. Este é geralmente um valor que faz com que a propriedade obtenha o seu valor de outra fonte. Um exemplo de valor ambiente é Color.Empty como valor ambiente da BackColor propriedade. Se tiver um controlo num formulário e a BackColor propriedade do controlo estiver definida para uma cor diferente da BackColor propriedade do formulário, pode redefinir a BackColor propriedade do controlo para a do formulário definindo o BackColor do controlo para Color.Empty.

Construtores

Name Description
AmbientValueAttribute(Boolean)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um valor booleano para o seu valor.

AmbientValueAttribute(Byte)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um inteiro sem sinal de 8 bits para o seu valor.

AmbientValueAttribute(Char)

Inicializa uma nova instância da AmbientValueAttribute classe, com um carácter Unicode como valor.

AmbientValueAttribute(Double)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um número de ponto flutuante de dupla precisão para o seu valor.

AmbientValueAttribute(Int16)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um inteiro assinado de 16 bits para o seu valor.

AmbientValueAttribute(Int32)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um inteiro com sinal de 32 bits para o seu valor.

AmbientValueAttribute(Int64)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um inteiro assinado de 64 bits para o seu valor.

AmbientValueAttribute(Object)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um objeto para o seu valor.

AmbientValueAttribute(Single)

Inicializa uma nova instância da AmbientValueAttribute classe, dado um número de ponto flutuante de precisão simples para o seu valor.

AmbientValueAttribute(String)

Inicializa uma nova instância da AmbientValueAttribute classe, dada uma string como valor.

AmbientValueAttribute(Type, String)

Inicializa uma nova instância da AmbientValueAttribute classe, dado o valor e o seu tipo.

Propriedades

Name Description
TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)
Value

Obtém o objeto que é o valor deste AmbientValueAttribute.

Métodos

Name Description
Equals(Object)

Determina se o especificado AmbientValueAttribute é igual à corrente AmbientValueAttribute.

GetHashCode()

Devolve o código de hash para esta instância.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a