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


MergablePropertyAttribute Класс

Определение

Указывает, что это свойство может быть объединено в окне "Свойства" со свойствами, принадлежащими другим объектам.

public ref class MergablePropertyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class MergablePropertyAttribute : Attribute
public sealed class MergablePropertyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type MergablePropertyAttribute = class
    inherit Attribute
type MergablePropertyAttribute = class
    inherit Attribute
Public NotInheritable Class MergablePropertyAttribute
Inherits Attribute
Наследование
MergablePropertyAttribute
Атрибуты

Примеры

В следующем примере свойство помечается как подходящее для слияния.

public:
   [MergableProperty(true)]
   property int MyProperty 
   {
      int get()
      {
         // Insert code here.
         return 0;
      }
      void set( int value )
      {
         // Insert code here.
      }
   }
[MergableProperty(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
    set {
       // Insert code here.
    }
 }
<MergableProperty(True)> _
Public Property MyProperty() As Integer
    Get
        ' Insert code here.
        Return 0
    End Get
    Set
        ' Insert code here.
    End Set 
End Property

В следующем примере показано, как проверка значение для MergablePropertyAttributeMyProperty. Сначала код получает со PropertyDescriptorCollection всеми свойствами объекта . Затем он индексирует в , PropertyDescriptorCollection чтобы получить MyProperty. Затем он возвращает атрибуты для этого свойства и сохраняет их в переменной атрибутов.

В примере представлены два разных способа проверки значения MergablePropertyAttribute. Во втором фрагменте кода в примере вызывается Equals метод со значением static . В последнем фрагменте кода в примере используется AllowMerge свойство для проверка значения.

// Gets the attributes for the property.
AttributeCollection^ attributes = TypeDescriptor::GetProperties( this )[ "MyProperty" ]->Attributes;

// Checks to see if the value of the MergablePropertyAttribute is Yes.
if ( attributes[ MergablePropertyAttribute::typeid ]->Equals( MergablePropertyAttribute::Yes ) )
{
   // Insert code here.
}

// This is another way to see if the property is bindable.
MergablePropertyAttribute^ myAttribute = dynamic_cast<MergablePropertyAttribute^>(attributes[ MergablePropertyAttribute::typeid ]);
if ( myAttribute->AllowMerge )
{
   // Insert code here.
}
// Gets the attributes for the property.
 AttributeCollection attributes = 
    TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;
 
 // Checks to see if the value of the MergablePropertyAttribute is Yes.
 if(attributes[typeof(MergablePropertyAttribute)].Equals(MergablePropertyAttribute.Yes)) {
    // Insert code here.
 }
 
 // This is another way to see if the property is bindable.
 MergablePropertyAttribute myAttribute = 
    (MergablePropertyAttribute)attributes[typeof(MergablePropertyAttribute)];
 if(myAttribute.AllowMerge) {
    // Insert code here.
 }
' Gets the attributes for the property.
Dim attributes As AttributeCollection = _
    TypeDescriptor.GetProperties(Me)("MyProperty").Attributes

' Checks to see if the value of the MergablePropertyAttribute is Yes.
If attributes(GetType(MergablePropertyAttribute)).Equals(MergablePropertyAttribute.Yes) Then
    ' Insert code here.
End If 

' This is another way to see if the property is bindable.
Dim myAttribute As MergablePropertyAttribute = _
    CType(attributes(GetType(MergablePropertyAttribute)), MergablePropertyAttribute)
If myAttribute.AllowMerge Then
    ' Insert code here.
End If

Если вы пометили класс с MergablePropertyAttributeпомощью , используйте следующий код, чтобы проверка значение .

AttributeCollection^ attributes = TypeDescriptor::GetAttributes( MyProperty );
if ( attributes[ MergablePropertyAttribute::typeid ]->Equals( MergablePropertyAttribute::Yes ) )
{
   // Insert code here.
}
AttributeCollection attributes = 
    TypeDescriptor.GetAttributes(MyProperty);
 if(attributes[typeof(MergablePropertyAttribute)].Equals(MergablePropertyAttribute.Yes)) {
    // Insert code here.
 }
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
If attributes(GetType(MergablePropertyAttribute)).Equals(MergablePropertyAttribute.Yes) Then
    ' Insert code here.
End If

Комментарии

Свойства, помеченные как MergablePropertyAttribute , true можно сочетать со свойствами, принадлежащими другим объектам в окно свойств. Свойства, помеченные свойством , MergablePropertyAttribute для которых задано значение , false должны отображаться отдельно. Значение по умолчанию — true.

Примечание

Если свойство помечается значением MergablePropertyAttributetrue, для этого атрибута устанавливается постоянный член Yes. Для свойства, помеченного свойством MergablePropertyAttribute , значением falseявляется No. Поэтому, если вы хотите проверка значение этого атрибута в коде, необходимо указать атрибут как MergablePropertyAttribute.Yes или MergablePropertyAttribute.No.

Дополнительные сведения см. в разделе Атрибуты.

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

MergablePropertyAttribute(Boolean)

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

Поля

Default

Задает значение по умолчанию, равное Yes, то есть свойство может объединяться со свойствами других объектов в окне "Свойства". Это статическое (static) поле доступно только для чтения.

No

Указывает, что это свойство не может быть объединено в окне "Свойства" со свойствами, принадлежащими другим объектам. Это статическое (static) поле доступно только для чтения.

Yes

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

Свойства

AllowMerge

Получает значение, указывающее, может ли это свойство быть объединено в окне "Свойства" со свойствами, принадлежащими другим объектам.

TypeId

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

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

Методы

Equals(Object)

Указывает, равен ли этот экземпляр заданному объекту.

GetHashCode()

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

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

Определяет, является ли этот атрибут используемым по умолчанию.

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)

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

См. также раздел