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


AmbientValueAttribute Класс

Определение

Указывает значение, которое нужно передать в свойство, чтобы свойство получило свое значение из другого источника. Это называется окружением. Этот класс не наследуется.

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
Наследование
AmbientValueAttribute
Атрибуты

Примеры

В следующем примере кода показано использование AmbientValueAttribute для принудительного применения внешнего поведения для свойства с именем AlertForeColor. Полный список кода см. в разделе Практическое руководство. Применение атрибутов в элементах управления Windows Forms.

[AmbientValue(typeof(Color), "Empty")]
[Category("Appearance")]
[DefaultValue(typeof(Color), "White")]
[Description("The color used for painting alert text.")]
public Color AlertForeColor
{
    get
    {
        if (this.alertForeColorValue == Color.Empty &&
            this.Parent != null)
        {
            return Parent.ForeColor;
        }

        return this.alertForeColorValue;
    }

    set
    {
        this.alertForeColorValue = value;
    }
}

// This method is used by designers to enable resetting the
// property to its default value.
public void ResetAlertForeColor()
{
    this.AlertForeColor = AttributesDemoControl.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.
private bool ShouldSerializeAlertForeColor()
{
    return (this.alertForeColorValue != AttributesDemoControl.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

Комментарии

Если свойство элемента управления имеет внешнее поведение, этот атрибут должен присутствовать. Внешние свойства запрашивают родительское значение, например Control.Font свойство или Control.BackColor свойство.

Как правило, визуальный конструктор использует AmbientValueAttribute атрибут , чтобы решить, какое значение следует сохранить для свойства. Обычно это значение, которое приводит к тому, что свойство получает свое значение из другого источника. Примером внешнего значения является Color.Empty значение окружения для BackColor свойства . Если у вас есть элемент управления в форме, а BackColor для свойства элемента управления задан цвет BackColor , отличный от свойства формы, можно сбросить BackColor свойство элемента управления на свойство формы, задав для BackColor элемента управления значение Color.Empty.

Конструкторы

AmbientValueAttribute(Boolean)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя заданное значение типа Boolean.

AmbientValueAttribute(Byte)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя заданное значение 8-разрядного целого числа без знака.

AmbientValueAttribute(Char)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя значение знака Юникод.

AmbientValueAttribute(Double)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя значение с плавающей запятой с двойной точностью.

AmbientValueAttribute(Int16)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя заданное значение 16-разрядного целого числа со знаком.

AmbientValueAttribute(Int32)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя заданное значение 32-разрядного целого числа со знаком.

AmbientValueAttribute(Int64)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя заданное значение 64-разрядного целого числа со знаком.

AmbientValueAttribute(Object)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя в качестве значения заданный объект.

AmbientValueAttribute(Single)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя значение с плавающей запятой обычной точности.

AmbientValueAttribute(String)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя строку в качестве значения.

AmbientValueAttribute(Type, String)

Инициализирует новый экземпляр класса AmbientValueAttribute, используя заданные значение и тип.

Свойства

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)
Value

Возвращает объект, который является значением этого атрибута AmbientValueAttribute.

Методы

Equals(Object)

Определяет, равен ли указанный объект AmbientValueAttribute текущему объекту AmbientValueAttribute.

GetHashCode()

Возвращает хэш-код данного экземпляра.

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)

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