LocalizableAttribute 클래스
속성을 지역화해야 하는지 여부를 지정합니다. 이 클래스는 상속될 수 없습니다.
네임스페이스: System.ComponentModel
어셈블리: System(system.dll)
구문
‘선언
<AttributeUsageAttribute(AttributeTargets.All)> _
Public NotInheritable Class LocalizableAttribute
Inherits Attribute
‘사용 방법
Dim instance As LocalizableAttribute
[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class LocalizableAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)]
public ref class LocalizableAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */
public final class LocalizableAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All)
public final class LocalizableAttribute extends Attribute
설명
구성 요소에 대한 코드가 생성되면 true로 설정된 LocalizableAttribute로 표시되는 멤버의 속성 값이 리소스 파일에 저장됩니다. 코드를 수정하지 않고 이러한 리소스 파일을 지역화할 수 있습니다.
기본적으로, 데이터 형식이 허용되는 경우에는 지역화 가능 특성을 사용하지 않는 멤버나 false로 설정된 LocalizableAttribute로 표시되는 멤버의 속성 값은 코드에 적용되지만, 기본 구성 요소가 Localizable로 설정된 경우에는 모든 속성이 리소스 파일에 적용됩니다. 기본값은 false입니다.
참고
true로 설정된 LocalizableAttribute로 속성을 표시하면 이 특성의 값이 상수 멤버 Yes로 설정됩니다. false로 설정된 LocalizableAttribute로 표시된 속성의 경우 값이 No입니다. 따라서 코드에서 이 특성의 값을 확인하려면 해당 특성을 LocalizableAttribute.Yes 또는 LocalizableAttribute.No로 지정해야 합니다.
자세한 내용은 특성 개요 및 특성을 사용하여 메타데이터 확장을 참조하십시오.
항목 | 위치 |
---|---|
연습: 사용자 지정 서버 컨트롤 개발 및 사용 | Authoring ASP.NET Controls |
연습: 사용자 지정 서버 컨트롤 개발 및 사용 | Visual Web Developer를 사용하여 응용 프로그램 빌드 |
예제
다음 예제에서는 속성을 지역화해야 하는 것으로 표시합니다.
<Localizable(True)> _
Public Property MyProperty() As Integer
Get
' Insert code here.
Return 0
End Get
Set
' Insert code here.
End Set
End Property
[Localizable(true)]
public int MyProperty {
get {
// Insert code here.
return 0;
}
set {
// Insert code here.
}
}
public:
property int MyProperty
{
[Localizable(true)]
int get()
{
// Insert code here.
return 0;
}
void set( int value )
{
// Insert code here.
}
}
/** @attribute Localizable(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 Localizable(true)
function get MyProperty() : int{
// Insert code here. Property goes on getter only when a property has
// both a getter and setter.
return 0
}
function set MyProperty(value: int){
// Insert code here.
}
다음 예제에서는 MyProperty
의 LocalizableAttribute 값을 확인하는 방법에 대해 설명합니다. 먼저 코드는 개체의 모든 속성이 들어 있는 PropertyDescriptorCollection을 가져옵니다. 그런 다음 PropertyDescriptorCollection에서 MyProperty
를 가져옵니다. 다음으로 이 속성의 특성을 반환하여 특성 변수에 저장합니다.
마지막으로 myAttribute
를 AttributeCollection의 LocalizableAttribute 값으로 설정하고 해당 속성을 지역화해야 하는지 여부를 확인합니다.
' Gets the attributes for the property.
Dim attributes As AttributeCollection = TypeDescriptor.GetProperties(Me)("MyProperty").Attributes
' Checks to see if the property needs to be localized.
Dim myAttribute As LocalizableAttribute = CType(attributes(GetType(LocalizableAttribute)), LocalizableAttribute)
If myAttribute.IsLocalizable Then
' Insert code here.
End If
// Gets the attributes for the property.
AttributeCollection attributes =
TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;
// Checks to see if the property needs to be localized.
LocalizableAttribute myAttribute =
(LocalizableAttribute)attributes[typeof(LocalizableAttribute)];
if(myAttribute.IsLocalizable) {
// Insert code here.
}
// Gets the attributes for the property.
AttributeCollection^ attributes = TypeDescriptor::GetProperties( this )[ "MyProperty" ]->Attributes;
// Checks to see if the property needs to be localized.
LocalizableAttribute^ myAttribute = dynamic_cast<LocalizableAttribute^>(attributes[ LocalizableAttribute::typeid ]);
if ( myAttribute->IsLocalizable )
{
// Insert code here.
}
// Gets the attributes for the property.
AttributeCollection attributes = TypeDescriptor.GetProperties(this).
get_Item("MyProperty").get_Attributes();
// Checks to see if the property needs to be localized.
LocalizableAttribute myAttribute = (LocalizableAttribute)(attributes.
get_Item(LocalizableAttribute.class.ToType()));
if (myAttribute.get_IsLocalizable()) {
// Insert code here.
}
// Gets the attributes for the property.
var attributes : AttributeCollection = TypeDescriptor.GetProperties(this)["MyProperty"].Attributes
// Checks to see if the property needs to be localized.
var myAttribute : LocalizableAttribute = LocalizableAttribute(attributes(LocalizableAttribute))
if(myAttribute.IsLocalizable){
// Insert code here.
}
상속 계층 구조
System.Object
System.Attribute
System.ComponentModel.LocalizableAttribute
스레드로부터의 안전성
이 형식의 모든 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에서 지원
참고 항목
참조
LocalizableAttribute 멤버
System.ComponentModel 네임스페이스
Attribute
PropertyDescriptor
AttributeCollection 클래스
PropertyDescriptorCollection