MergablePropertyAttribute 클래스
이 속성을 속성 창에 있는 다른 개체의 속성과 결합할 수 있도록 지정합니다.
네임스페이스: System.ComponentModel
어셈블리: System(system.dll)
구문
‘선언
<AttributeUsageAttribute(AttributeTargets.All)> _
Public NotInheritable Class MergablePropertyAttribute
Inherits Attribute
‘사용 방법
Dim instance As MergablePropertyAttribute
[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class MergablePropertyAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)]
public ref class MergablePropertyAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */
public final class MergablePropertyAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All)
public final class MergablePropertyAttribute extends Attribute
설명
true로 설정된 MergablePropertyAttribute로 표시되는 속성은 속성 창에 있는 다른 개체의 속성과 결합할 수 있습니다. false로 설정된 MergablePropertyAttribute로 표시되는 속성은 별도로 표시되어야 합니다. 기본값은 true입니다.
참고
true로 설정된 MergablePropertyAttribute로 속성을 표시하면 이 특성의 값이 상수 멤버 Yes로 설정됩니다. false로 설정된 MergablePropertyAttribute 속성으로 표시된 속성의 경우 값이 No입니다. 따라서 코드에서 이 특성의 값을 확인하려면 해당 특성을 MergablePropertyAttribute.Yes 또는 MergablePropertyAttribute.No로 지정해야 합니다.
자세한 내용은 특성 개요 및 특성을 사용하여 메타데이터 확장을 참조하십시오.
예제
다음 예제에서는 속성을 병합하기에 적절한 것으로 표시합니다.
<MergableProperty(True)> _
Public Property MyProperty() As Integer
Get
' Insert code here.
Return 0
End Get
Set
' Insert code here.
End Set
End Property
[MergableProperty(true)]
public int MyProperty {
get {
// Insert code here.
return 0;
}
set {
// Insert code here.
}
}
public:
[MergableProperty(true)]
property int MyProperty
{
int get()
{
// Insert code here.
return 0;
}
void set( int value )
{
// Insert code here.
}
}
/** @attribute MergableProperty(true)
*/
/** @property
*/
public int get_MyProperty()
{
// Insert code here.
return 0;
} //get_MyProperty
/** @property
*/
public void set_MyProperty(int value)
{
// Insert code here.
} //set_MyProperty
public MergableProperty(true)
function get MyProperty() : int{
// Insert code here.
return 0
}
function set MyProperty(value : int){
// Insert code here.
}
다음 예제에서는 MyProperty
의 MergablePropertyAttribute 값을 확인하는 방법에 대해 설명합니다. 먼저 코드는 개체의 모든 속성이 들어 있는 PropertyDescriptorCollection을 가져옵니다. 다음에는 PropertyDescriptorCollection으로 인덱싱하여 MyProperty
를 가져옵니다. 그런 다음 이 속성의 특성을 반환하여 특성 변수에 저장합니다.
이 예제에서는 MergablePropertyAttribute의 값을 확인하는 두 가지 방법에 대해 설명합니다. 예제의 두 번째 코드 부분에서는 static 값으로 Equals 메서드를 호출합니다. 마지막 코드 부분에서 해당 예제는 AllowMerge 속성을 사용하여 값을 확인합니다.
' 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
// 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.
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).get_Item(
"MyProperty").get_Attributes();
// Checks to see if the value of the MergablePropertyAttribute is Yes.
if (attributes.get_Item(
MergablePropertyAttribute.class.ToType()).Equals
(MergablePropertyAttribute.Yes)) {
// Insert code here.
}
// This is another way to see if the property is bindable.
MergablePropertyAttribute myAttribute = ((MergablePropertyAttribute)
(attributes.get_Item(MergablePropertyAttribute.class.ToType())));
if (myAttribute.get_AllowMerge()) {
// Insert code here.
}
// Gets the attributes for the property.
var attributes : AttributeCollection = TypeDescriptor.GetProperties(this)["MyProperty"].Attributes
// Checks to see if the value of the MergablePropertyAttribute is Yes.
if(attributes(MergablePropertyAttribute).Equals(MergablePropertyAttribute.Yes)){
// Insert code here.
}
// This is another way to see if the property is bindable.
var myAttribute : MergablePropertyAttribute = MergablePropertyAttribute(attributes(MergablePropertyAttribute))
if(myAttribute.AllowMerge){
// Insert code here.
}
MergablePropertyAttribute로 클래스를 표시하는 경우 다음 코드를 사용하여 해당 값을 확인합니다.
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
If attributes(GetType(MergablePropertyAttribute)).Equals(MergablePropertyAttribute.Yes) Then
' Insert code here.
End If
AttributeCollection attributes =
TypeDescriptor.GetAttributes(MyProperty);
if(attributes[typeof(MergablePropertyAttribute)].Equals(MergablePropertyAttribute.Yes)) {
// Insert code here.
}
AttributeCollection^ attributes = TypeDescriptor::GetAttributes( MyProperty );
if ( attributes[ MergablePropertyAttribute::typeid ]->Equals( MergablePropertyAttribute::Yes ) )
{
// Insert code here.
}
AttributeCollection attributes =
TypeDescriptor.GetAttributes("MyProperty");
if (attributes.get_Item(
MergablePropertyAttribute.class.ToType()).Equals(
MergablePropertyAttribute.Yes)) {
// Insert code here.
}
var attributes : AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
if(attributes(MergablePropertyAttribute).Equals(MergablePropertyAttribute.Yes)){
// Insert code here.
}
상속 계층 구조
System.Object
System.Attribute
System.ComponentModel.MergablePropertyAttribute
스레드로부터의 안전성
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
참고 항목
참조
MergablePropertyAttribute 멤버
System.ComponentModel 네임스페이스
PropertyDescriptor
AttributeCollection 클래스
PropertyDescriptorCollection
Attribute