TypeConverterAttribute 클래스

정의

이 특성이 바인딩되는 개체에 대한 변환기로 사용할 형식을 지정합니다.Specifies what type to use as a converter for the object this attribute is bound to.

public ref class TypeConverterAttribute sealed : Attribute
public sealed class TypeConverterAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class TypeConverterAttribute : Attribute
type TypeConverterAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type TypeConverterAttribute = class
    inherit Attribute
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
상속
TypeConverterAttribute
특성

예제

다음 예제에서는 MyClass 라는 형식 변환기를 사용 하도록를 선언 합니다 MyClassConverter .The following example declares MyClass to use the type converter called MyClassConverter. 이 예에서는가 다른 곳에서 구현 된 것으로 가정 MyClassConverter 합니다.This example assumes that MyClassConverter has been implemented elsewhere. 변환기 ()를 구현 하는 클래스는 MyClassConverter 클래스에서 상속 해야 합니다 TypeConverter .The class implementing the converter (MyClassConverter) must inherit from the TypeConverter class.

[TypeConverter(Class1::MyClassConverter::typeid)]
ref class MyClass{
   // Insert code here.
};
[TypeConverter(typeof(MyClassConverter))]
 public class MyClass {
    // Insert code here.
 }
<TypeConverter(GetType(MyClassConverter))> _
Public Class ClassA
    ' Insert code here.
End Class

다음 예에서는의 인스턴스를 만듭니다 MyClass .The next example creates an instance of MyClass. 그런 다음 클래스에 대 한 특성을 가져오고에서 사용 하는 형식 변환기의 이름을 출력 MyClass 합니다.Then it gets the attributes for the class, and prints the name of the type converter used by MyClass.

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 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;
 }
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

설명

변환에 사용 하는 클래스는에서 상속 해야 합니다 TypeConverter .The class you use for conversion must inherit from TypeConverter. 속성을 사용 ConverterTypeName 하 여이 특성이 바인딩되는 개체에 대 한 데이터 변환을 제공 하는 클래스의 이름을 가져옵니다.Use the ConverterTypeName property to get the name of the class that provides the data conversion for the object this attribute is bound to.

특성에 대한 자세한 내용은 특성을 참조하세요.For more information about attributes, see Attributes. 형식 변환기에 대 한 자세한 내용은 참조는 TypeConverter 기본 클래스 및 방법: 형식 변환기를 구현합니다.For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.

XAML에 대 한 형식 변환 동작을 제공 하는 사용자 지정 클래스에서 형식 변환기를 설정 하려면 TypeConverterAttribute 형식에 특성을 적용 합니다.In order to establish a type converter on a custom class that provides type conversion behavior for XAML, you apply the TypeConverterAttribute attribute to your type. 특성의 인수는 형식 변환기 구현을 참조 합니다.The argument of the attribute references your type converter implementation. 형식 변환기는 XAML 태그의 특성 또는 초기화 텍스트에 사용 되는 문자열의 값을 수락 하 고 해당 문자열을 원하는 대상 형식으로 변환할 수 있어야 합니다.Your type converter should be able to accept values from a string that is used for attributes or initialization text in XAML markup, and convert that string into your intended destination type. 자세한 내용은 typeconverter 및 XAML을 참조 하세요.For more information, see TypeConverters and XAML.

형식의 모든 값에 적용 하는 대신 XAML의 형식 변환기 동작도 특정 속성에 대해 설정할 수 있습니다.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. 이 경우 TypeConverterAttribute 속성 정의 (특정 및 정의가 아닌 외부 정의)에 적용 get set 됩니다.In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

사용자 지정 연결 가능 멤버의 XAML 사용에 대 한 형식 변환기 동작은 TypeConverterAttribute get xaml 사용을 지 원하는 메서드 접근자에를 적용 하 여 할당할 수 있습니다.A type converter behavior for XAML usage of a custom attachable member can be assigned by applying TypeConverterAttribute to the get method accessor that supports the XAML usage. 자세한 내용은 연결된 속성 개요를 참조하세요.For more information, see Attached Properties Overview.

개체 런타임의 추가 상태가 필요한 복잡 한 XAML serialization 사례의 경우 형식 변환기 외에도 값 serializer를 정의 하 고, 특성은 사용자 지정 형식 또는 사용자 지정 멤버의 클래스를 지원 합니다.For complex XAML serialization cases that require additional state from the object runtime, consider defining a value serializer in addition to a type converter, and attribute both support classes on your custom types or custom members. 자세한 내용은 ValueSerializer를 참조하세요.For more information, see ValueSerializer.

생성자

TypeConverterAttribute()

기본 형식 변환기를 사용하여 TypeConverterAttribute 클래스의 새 인스턴스를 초기화합니다. 기본 형식 변환기는 빈 문자열("")입니다.Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string ("").

TypeConverterAttribute(String)

지정된 형식 이름을 이 특성이 바인딩되는 개체의 데이터 변환기로 사용하여 TypeConverterAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TypeConverterAttribute class, using the specified type name as the data converter for the object this attribute is bound to.

TypeConverterAttribute(Type)

지정된 형식을 이 특성이 바인딩되는 개체의 데이터 변환기로 사용하여 TypeConverterAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TypeConverterAttribute class, using the specified type as the data converter for the object this attribute is bound to.

필드

Default

이 특성이 바인딩되는 개체의 변환기로 사용할 형식을 지정합니다.Specifies the type to use as a converter for the object this attribute is bound to.

속성

ConverterTypeName

이 특성이 바인딩되는 개체의 변환기로 사용할 Type의 정규화된 형식 이름을 가져옵니다.Gets the fully qualified type name of the Type to use as a converter for the object this attribute is bound to.

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.When implemented in a derived class, gets a unique identifier for this Attribute.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

주어진 개체의 값이 현재 TypeConverterAttribute와 같은지 여부를 반환합니다.Returns whether the value of the given object is equal to the current TypeConverterAttribute.

GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.Maps a set of names to a corresponding set of dispatch identifiers.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.Retrieves the type information for an object, which can be used to get the type information for an interface.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.Provides access to properties and methods exposed by an object.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보