BrowsableAttribute 클래스
속성 또는 이벤트를 속성 창에 표시해야 할지 여부를 지정합니다.
네임스페이스: System.ComponentModel
어셈블리: System(system.dll)
구문
‘선언
<AttributeUsageAttribute(AttributeTargets.All)> _
Public NotInheritable Class BrowsableAttribute
Inherits Attribute
‘사용 방법
Dim instance As BrowsableAttribute
[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class BrowsableAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)]
public ref class BrowsableAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */
public final class BrowsableAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All)
public final class BrowsableAttribute extends Attribute
설명
일반적으로 비주얼 디자이너는 찾아볼 수 있는 특성이 없거나 true 값의 BrowsableAttribute 생성자로 표시된 멤버를 속성 창에 표시합니다. 이 멤버들은 디자인 타임에서 수정할 수 있습니다. false 값의 BrowsableAttribute 생성자로 표시된 멤버는 디자인 타임에서 편집하기에 적절하지 않으므로 비주얼 디자이너에 표시되지 않습니다. 기본값은 true입니다.
참고
값이 true인 BrowsableAttribute 생성자를 사용하여 속성을 표시하면 이 특성의 값이 상수 멤버 Yes로 설정됩니다. false 값의 BrowsableAttribute 생성자로 표시되는 속성의 경우 값은 No입니다. 따라서 코드에서 이 특성의 값을 확인하려면 해당 특성을 BrowsableAttribute.Yes 또는 BrowsableAttribute.No로 지정해야 합니다.
자세한 내용은 특성 개요 및 특성을 사용하여 메타데이터 확장을 참조하십시오.
예제
다음 예제에서는 속성을 찾아볼 수 있는 속성으로 표시합니다.
<Browsable(True)> _
Public Property MyProperty() As Integer
Get
' Insert code here.
Return 0
End Get
Set
' Insert code here.
End Set
End Property
[Browsable(true)]
public int MyProperty {
get {
// Insert code here.
return 0;
}
set {
// Insert code here.
}
}
public:
[Browsable(true)]
property int MyProperty
{
int get()
{
// Insert code here.
return 0;
}
void set( int value )
{
// Insert code here.
}
}
/** @attribute Browsable(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
Browsable(true)
public function get MyProperty() : int {
// Insert code here.
return 0;
}
public function set MyProperty(value : int) {
}
다음 예제에서는 MyProperty
의 BrowsableAttribute 값을 확인하는 방법에 대해 설명합니다. 먼저 코드는 개체의 모든 속성이 들어 있는 PropertyDescriptorCollection을 가져옵니다. 다음에는 PropertyDescriptorCollection으로 인덱싱하여 MyProperty
를 가져옵니다. 그런 다음 이 속성의 특성을 반환하여 특성 변수에 저장합니다.
이 예제에서는 BrowsableAttribute의 값을 확인하는 두 가지 방법에 대해 설명합니다. 두 번째 코드 부분에서 해당 예제는 Equals 메서드를 호출합니다. 마지막 코드 부분에서 해당 예제는 Browsable 속성을 사용하여 값을 확인합니다.
' Gets the attributes for the property.
Dim attributes As AttributeCollection = _
TypeDescriptor.GetProperties(Me)("MyProperty").Attributes
' Checks to see if the value of the BrowsableAttribute is Yes.
If attributes(GetType(BrowsableAttribute)).Equals(BrowsableAttribute.Yes) Then
' Insert code here.
End If
' This is another way to see whether the property is browsable.
Dim myAttribute As BrowsableAttribute = _
CType(attributes(GetType(BrowsableAttribute)), BrowsableAttribute)
If myAttribute.Browsable 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 BrowsableAttribute is Yes.
if(attributes[typeof(BrowsableAttribute)].Equals(BrowsableAttribute.Yes)) {
// Insert code here.
}
// This is another way to see whether the property is browsable.
BrowsableAttribute myAttribute =
(BrowsableAttribute)attributes[typeof(BrowsableAttribute)];
if(myAttribute.Browsable) {
// Insert code here.
}
// Gets the attributes for the property.
AttributeCollection^ attributes = TypeDescriptor::GetProperties( this )[ "MyProperty" ]->Attributes;
// Checks to see if the value of the BrowsableAttribute is Yes.
if ( attributes[ BrowsableAttribute::typeid ]->Equals( BrowsableAttribute::Yes ) )
{
// Insert code here.
}
// This is another way to see whether the property is browsable.
BrowsableAttribute^ myAttribute = dynamic_cast<BrowsableAttribute^>(attributes[ BrowsableAttribute::typeid ]);
if ( myAttribute->Browsable )
{
// 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 BrowsableAttribute is Yes.
if (attributes.get_Item(BrowsableAttribute.class.ToType()).Equals(
BrowsableAttribute.Yes)) {
// Insert code here.
}
// This is another way to see whether the property is browsable.
BrowsableAttribute myAttribute = (BrowsableAttribute)
(attributes.get_Item(BrowsableAttribute.class.ToType()));
if (myAttribute.get_Browsable()) {
// 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 BrowsableAttribute is Yes.
if(attributes[BrowsableAttribute].Equals(BrowsableAttribute.Yes)) {
Console.WriteLine("MyProperty is browsable.");
}
// This is another way to see whether the property is browsable.
var myAttribute : BrowsableAttribute =
BrowsableAttribute(attributes[BrowsableAttribute]);
if(myAttribute.Browsable) {
Console.WriteLine("MyProperty is browsable.");
}
BrowsableAttribute로 클래스를 표시하는 경우 다음 코드를 사용하여 해당 값을 확인합니다.
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
If attributes(GetType(BrowsableAttribute)).Equals(BrowsableAttribute.Yes) Then
' Insert code here.
End If
AttributeCollection attributes =
TypeDescriptor.GetAttributes(MyProperty);
if(attributes[typeof(BrowsableAttribute)].Equals(BrowsableAttribute.Yes)) {
// Insert code here.
}
AttributeCollection^ attributes = TypeDescriptor::GetAttributes( MyProperty );
if ( attributes[ BrowsableAttribute::typeid ]->Equals( BrowsableAttribute::Yes ) )
{
// Insert code here.
}
AttributeCollection attributes =
TypeDescriptor.GetAttributes((Int32)get_MyProperty());
if (attributes.get_Item(BrowsableAttribute.class.ToType()).Equals(
BrowsableAttribute.Yes)) {
// Insert code here.
}
var attributes : AttributeCollection =
TypeDescriptor.GetAttributes(MyProperty);
if(attributes[BrowsableAttribute].Equals(BrowsableAttribute.Yes)) {
Console.WriteLine("MyProperty is browsable.");
}
상속 계층 구조
System.Object
System.Attribute
System.ComponentModel.BrowsableAttribute
스레드로부터의 안전성
이 형식의 모든 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에서 지원
참고 항목
참조
BrowsableAttribute 멤버
System.ComponentModel 네임스페이스
Attribute
PropertyDescriptor
EventDescriptor
AttributeCollection 클래스
PropertyDescriptorCollection