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.
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, то есть свойство может объединяться со свойствами других объектов в окне "Свойства". Это статическое ( |
No |
Указывает, что это свойство не может быть объединено в окне "Свойства" со свойствами, принадлежащими другим объектам. Это статическое ( |
Yes |
Указывает, что свойство может быть объединено в окне "Свойства" со свойствами, принадлежащими другим объектам. Это статическое ( |
Свойства
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) |