TypeConverterAttribute 클래스
이 특성이 바인딩되는 개체의 변환기로 사용할 형식을 지정합니다. 이 클래스는 상속될 수 없습니다.
네임스페이스: System.ComponentModel
어셈블리: System(system.dll)
구문
‘선언
<AttributeUsageAttribute(AttributeTargets.All)> _
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
‘사용 방법
Dim instance As TypeConverterAttribute
[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class TypeConverterAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)]
public ref class TypeConverterAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */
public final class TypeConverterAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All)
public final class TypeConverterAttribute extends Attribute
설명
변환에 사용하는 클래스는 TypeConverter에서 상속해야 합니다. 이 특성이 바인딩되는 개체에 데이터 변환을 제공하는 클래스의 이름을 가져오려면 ConverterTypeName 속성을 사용합니다.
특성에 대한 자세한 내용은 특성 개요 및 특성을 사용하여 메타데이터 확장을 참조하십시오. 형식 변환기에 대한 자세한 내용은 TypeConverter 기본 클래스 및 방법: 형식 변환기 구현을 참조하십시오.
예제
다음 예제에서는 MyClass
에서 MyClassConverter
라는 형식 변환기를 사용하도록 합니다. 이 예제에서는 다른 위치에 MyClassConverter
가 구현되어 있다고 가정합니다. MyClassConverter
변환기를 구현하는 클래스는 TypeConverter 클래스에서 상속해야 합니다.
<TypeConverter(GetType(MyClassConverter))> _
Public Class ClassA
' Insert code here.
End Class 'MyClass
[TypeConverter(typeof(MyClassConverter))]
public class MyClass {
// Insert code here.
}
[TypeConverter(Class1::MyClassConverter::typeid)]
ref class MyClass{
// Insert code here.
};
/** @attribute TypeConverter(MyClassConverter.class)
*/
public static class MyClass
{
// Insert code here.
} //MyClass
다음 예제에서는 MyClass
의 인스턴스를 만듭니다. 그런 다음 클래스의 특성을 가져와서 MyClass
에서 사용하는 형식 변환기의 이름을 출력합니다.
Public Shared Function Main() As Integer
' Creates a new instance of ClassA.
Dim myNewClass As New ClassA()
' Gets the attributes for the instance.
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewClass)
' Prints the name of the type converter by retrieving the
' TypeConverterAttribute from the AttributeCollection.
Dim myAttribute As TypeConverterAttribute = _
CType(attributes(GetType(TypeConverterAttribute)), TypeConverterAttribute)
Console.WriteLine(("The type conveter for this class is: " _
+ myAttribute.ConverterTypeName))
Return 0
End Function 'Main
public static int Main() {
// Creates a new instance of MyClass.
MyClass myNewClass = new MyClass();
// Gets the attributes for the instance.
AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewClass);
/* Prints the name of the type converter by retrieving the
* TypeConverterAttribute from the AttributeCollection. */
TypeConverterAttribute myAttribute =
(TypeConverterAttribute)attributes[typeof(TypeConverterAttribute)];
Console.WriteLine("The type conveter for this class is: " +
myAttribute.ConverterTypeName);
return 0;
}
int main()
{
// Creates a new instance of MyClass.
Class1::MyClass^ myNewClass = gcnew Class1::MyClass;
// Gets the attributes for the instance.
AttributeCollection^ attributes = TypeDescriptor::GetAttributes( myNewClass );
/* Prints the name of the type converter by retrieving the
* TypeConverterAttribute from the AttributeCollection. */
TypeConverterAttribute^ myAttribute = dynamic_cast<TypeConverterAttribute^>(attributes[ TypeConverterAttribute::typeid ]);
Console::WriteLine( "The type converter for this class is: {0}", myAttribute->ConverterTypeName );
return 0;
}
public static void main(String[] args)
{
// Creates a new instance of MyClass.
MyClass myNewClass = new MyClass();
// Gets the attributes for the instance.
AttributeCollection attributes =
TypeDescriptor.GetAttributes(myNewClass);
/* Prints the name of the type converter by retrieving the
* TypeConverterAttribute from the AttributeCollection.
*/
TypeConverterAttribute myAttribute = ((TypeConverterAttribute)
(attributes.get_Item( TypeConverterAttribute.class.ToType())));
Console.WriteLine(("The type conveter for this class is: "
+ myAttribute.get_ConverterTypeName()));
} //main
상속 계층 구조
System.Object
System.Attribute
System.ComponentModel.TypeConverterAttribute
스레드로부터의 안전성
이 형식의 모든 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에서 지원
참고 항목
참조
TypeConverterAttribute 멤버
System.ComponentModel 네임스페이스
TypeConverter 클래스