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
- Наследование
- Атрибуты
Примеры
В следующем примере помечается свойство, соответствующее слиянию.
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.
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
В следующем примере показано, как проверить значение MergablePropertyAttribute для MyProperty. Сначала код получает 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
Комментарии
Свойства, помеченные набором MergablePropertyAttributetrue , можно объединить со свойствами, принадлежащими другим объектам в окне свойств. Свойства, помеченные набором MergablePropertyAttributefalse , должны отображаться отдельно. Значение по умолчанию — true.
Замечание
При помечаете свойство с MergablePropertyAttribute заданным значением true, значение этого атрибута присваивается постоянному члену Yes. Для свойства, помеченного свойством, заданным MergablePropertyAttributefalseзначением , является No. Таким образом, если вы хотите проверить значение этого атрибута в коде, необходимо указать атрибут как MergablePropertyAttribute.Yes или MergablePropertyAttribute.No.
Дополнительные сведения см. в разделе Атрибуты.
Конструкторы
| Имя | Описание |
|---|---|
| MergablePropertyAttribute(Boolean) |
Инициализирует новый экземпляр класса MergablePropertyAttribute. |
Поля
| Имя | Описание |
|---|---|
| Default |
Указывает значение по умолчанию, т Yes. е. свойство можно объединить со свойствами, принадлежащими другим объектам в окне свойств. Это |
| No |
Указывает, что свойство невозможно объединить со свойствами, принадлежащими другим объектам в окне свойств. Это |
| Yes |
Указывает, что свойство можно объединить со свойствами, принадлежащими другим объектам в окне "Свойства". Это |
Свойства
| Имя | Описание |
|---|---|
| AllowMerge |
Возвращает значение, указывающее, может ли это свойство сочетаться со свойствами, принадлежащими другим объектам в окне свойств. |
| TypeId |
При реализации в производном классе получает уникальный идентификатор для этого Attribute. (Унаследовано от Attribute) |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Указывает, равны ли этот экземпляр и указанный объект. |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsDefaultAttribute() |
Определяет, является ли этот атрибут значением по умолчанию. |
| 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) |