MergablePropertyAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定這個屬性可以在 [屬性] 視窗中結合其他物件的屬性。
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
下一個範例示範如何檢查 MergablePropertyAttribute 的值 MyProperty
。 首先,程式代碼會取得 PropertyDescriptorCollection 具有物件之所有屬性的 。 接下來它會編制索引至 PropertyDescriptorCollection 以取得 MyProperty
。 然後它會傳回此屬性的屬性,並將其儲存在屬性變數中。
此範例提供兩種檢查 值 MergablePropertyAttribute的不同方式。 在第二個static
代碼段中,此範例會使用 值呼叫 Equals 方法。 在最後一個代碼段中,此範例會使用 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
。
注意
當您將 屬性標示 MergablePropertyAttribute 為 true
時,這個屬性的值會設定為常數成員 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) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開的屬性和方法的存取權。 (繼承來源 Attribute) |