Прочитать на английском

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


MergablePropertyAttribute Класс

Определение

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

[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class MergablePropertyAttribute : Attribute
public sealed class MergablePropertyAttribute : Attribute
Наследование
MergablePropertyAttribute
Атрибуты

Примеры

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

[MergableProperty(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
    set {
       // Insert code here.
    }
 }

В следующем примере показано, как проверка значение для 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[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.
 }

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

AttributeCollection attributes = 
    TypeDescriptor.GetAttributes(MyProperty);
 if(attributes[typeof(MergablePropertyAttribute)].Equals(MergablePropertyAttribute.Yes)) {
    // Insert code here.
 }

Комментарии

Свойства, помеченные как 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)

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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