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


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 =>
        _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

Комментарии

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

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

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

Имя Описание
AmbientValueAttribute(Boolean)

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

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)

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