다음을 통해 공유


TypeConverter 클래스

정의

표준 값 및 하위 속성에 액세스할 뿐만 아니라 값 형식을 다른 형식으로 변환하는 통합된 방법을 제공합니다.

public ref class TypeConverter
public class TypeConverter
[System.Runtime.InteropServices.ComVisible(true)]
public class TypeConverter
type TypeConverter = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type TypeConverter = class
Public Class TypeConverter
상속
TypeConverter
파생
특성

예제

다음 코드 예제에서는 형식 변환기의 인스턴스를 만들고 클래스에 바인딩하는 방법을 보여 줍니다. 변환기(MyClassConverter)를 구현하는 클래스는 TypeConverter 클래스에서 상속되어야 합니다.

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

열거형이 있는 속성이 있는 경우 속성을 설정하기 전에 열거형 값이 유효한지 확인합니다. 다음 코드 예제에서는 MyPropertyEnum 호출된 열거형이 선언되어야 합니다.

public:
   property MyPropertyEnum MyProperty 
   {
      void set( MyPropertyEnum value )
      {
         // Checks to see if the value passed is valid.
         if ( !TypeDescriptor::GetConverter( MyPropertyEnum::typeid )->IsValid( value ) )
         {
            throw gcnew ArgumentException;
         }
         // The value is valid. Insert code to set the property.
      }
   }
public MyPropertyEnum MyProperty {
    set {
       // Checks to see if the value passed is valid.
       if (!TypeDescriptor.GetConverter(typeof(MyPropertyEnum)).IsValid(value)) {
          throw new ArgumentException();
       }
       // The value is valid. Insert code to set the property.
    }
 }

Public WriteOnly Property MyProperty() As MyPropertyEnum
    Set
        ' Checks to see if the value passed is valid.
        If Not TypeDescriptor.GetConverter(GetType(MyPropertyEnum)).IsValid(value) Then
            Throw New ArgumentException()
        End If
        ' The value is valid. Insert code to set the property.
    End Set 
End Property

또 다른 일반적인 형식 변환기 사용은 개체를 문자열로 변환하는 것입니다. 다음 코드 예제에서는 변수 c저장된 Color 이름을 출력합니다.

Color c = Color::Red;
Console::WriteLine( TypeDescriptor::GetConverter( c )->ConvertToString( c ) );
Color c = Color.Red;
    Console.WriteLine(TypeDescriptor.GetConverter(typeof(Color)).ConvertToString(c));
Dim c As Color = Color.Red
Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c))

다음 코드 예제와 같이 형식 변환기를 사용하여 해당 이름에서 값을 변환할 수도 있습니다.

Color c =  (Color)(TypeDescriptor::GetConverter( Color::typeid )->ConvertFromString( "Red" ));
Color c = (Color)TypeDescriptor.GetConverter(typeof(Color)).ConvertFromString("Red");
Dim c As Color = CType(TypeDescriptor.GetConverter(GetType(Color)).ConvertFromString("Red"), Color)

다음 코드 예제에서는 형식 변환기를 사용하여 개체가 지원하는 표준 값 집합을 인쇄할 수 있습니다.

for each ( Color c in TypeDescriptor::GetConverter( Color::typeid )->GetStandardValues() )
{
   Console::WriteLine( TypeDescriptor::GetConverter( c )->ConvertToString( c ) );
}
foreach(Color c in TypeDescriptor.GetConverter(typeof(Color)).GetStandardValues()) {
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
 }
Dim c As Color
For Each c In  TypeDescriptor.GetConverter(GetType(Color)).GetStandardValues()
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c))
Next c

설명

가장 일반적인 변환기 유형은 텍스트 표현과 변환되는 변환기입니다. 클래스의 형식 변환기는 TypeConverterAttribute사용하여 클래스에 바인딩됩니다. 이 특성을 재정의하지 않는 한 이 클래스에서 상속되는 모든 클래스는 기본 클래스와 동일한 형식 변환기를 사용합니다.

메모

일반적인 형식 시스템 용도로는 형식 변환기에서 직접 액세스하지 마세요. 대신 TypeDescriptor사용하여 적절한 변환자에 액세스합니다. 자세한 내용은 제공된 코드 예제를 참조하세요.

그러나 XAML을 사용하는 경우 XAML 프로세서는 TypeDescriptor진행하는 대신 TypeConverterAttribute 직접 검색합니다. 코드에서 TypeDescriptor 인스턴스를 만들거나 WPF 리소스에서 공유 인스턴스를 만드는 경우 TypeDescriptor 또는 기타 리플렉션 및 형식 시스템 지원을 참조하지 않고 직접 생성할 수 있습니다.

TypeConverter 파생된 클래스는 XAML 프로세서가 특성 또는 초기화 텍스트 값을 태그(본질적으로 문자열)에서 변환하고 런타임 표현의 개체를 생성하는 방법의 일부로 참조되는 경우가 많습니다. XAML에 대한 형식 변환 동작을 지원하려는 사용자 지정 형식 작성자는 일반적으로 문자열에서 고유한 ConvertFrom 동작을 지원하는 TypeConverter 클래스를 구현합니다. 이 동작은 XAML 특성 값으로 제공된 문자열에서 형식 변환을 사용하도록 설정하고, 구문 분석된 개체 그래프에서 개체를 생성할 수 있도록 문자열에서 개체를 만드는 데 필요한 지원을 제공하는 XAML 프로세서를 제공합니다. 사용자 지정 형식 또는 사용자 지정 형식의 멤버는 사용자 지정 TypeConverter 구현을 참조하는 특성과 함께 정의에 TypeConverterAttribute 적용하여 표시됩니다. 자세한 내용은 XAML 개요형식 변환기를 참조하세요.

상속자 참고

TypeConverter 상속하여 고유한 변환 요구 사항을 구현합니다. 이 클래스에서 상속하는 경우 다음 메서드를 재정의할 수 있습니다.

참고: 파생 형식은 internal 또는 private표시될 수 있지만 TypeDescriptor 클래스를 사용하여 형식의 인스턴스를 만들 수 있습니다. 호출자가 신뢰할 수 있다고 가정하여 안전하지 않은 코드를 작성하지 마세요. 대신 호출자가 부분 신뢰에서 형식의 인스턴스를 만들 수 있다고 가정합니다.

일반(XAML이 아닌) 용도로 형식 변환기를 사용하는 방법에 대한 자세한 내용은 방법: 형식 변환기 구현 또는 일반화된 형식 변환참조하세요.

생성자

TypeConverter()

TypeConverter 클래스의 새 인스턴스를 초기화합니다.

메서드

CanConvertFrom(ITypeDescriptorContext, Type)

이 변환기가 지정된 컨텍스트를 사용하여 지정된 형식의 개체를 이 변환기의 형식으로 변환할 수 있는지 여부를 반환합니다.

CanConvertFrom(Type)

이 변환기가 지정된 형식의 개체를 이 변환기의 형식으로 변환할 수 있는지 여부를 반환합니다.

CanConvertTo(ITypeDescriptorContext, Type)

이 변환기가 지정된 컨텍스트를 사용하여 개체를 지정된 형식으로 변환할 수 있는지 여부를 반환합니다.

CanConvertTo(Type)

이 변환기가 개체를 지정된 형식으로 변환할 수 있는지 여부를 반환합니다.

ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

지정된 컨텍스트 및 문화권 정보를 사용하여 지정된 개체를 이 변환기의 형식으로 변환합니다.

ConvertFrom(Object)

지정된 값을 이 변환기의 형식으로 변환합니다.

ConvertFromInvariantString(ITypeDescriptorContext, String)

고정 문화권 및 지정된 컨텍스트를 사용하여 지정된 문자열을 이 변환기의 형식으로 변환합니다.

ConvertFromInvariantString(String)

고정 문화권을 사용하여 지정된 문자열을 이 변환기의 형식으로 변환합니다.

ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

지정된 컨텍스트 및 문화권 정보를 사용하여 지정된 텍스트를 개체로 변환합니다.

ConvertFromString(ITypeDescriptorContext, String)

지정된 컨텍스트를 사용하여 지정된 텍스트를 개체로 변환합니다.

ConvertFromString(String)

지정된 텍스트를 개체로 변환합니다.

ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

지정된 컨텍스트 및 문화권 정보를 사용하여 지정된 값 개체를 지정된 형식으로 변환합니다.

ConvertTo(Object, Type)

인수를 사용하여 지정된 값 개체를 지정된 형식으로 변환합니다.

ConvertToInvariantString(ITypeDescriptorContext, Object)

지정된 컨텍스트를 사용하여 지정된 값을 문화권 고정 문자열 표현으로 변환합니다.

ConvertToInvariantString(Object)

지정된 값을 문화권 고정 문자열 표현으로 변환합니다.

ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

지정된 컨텍스트 및 문화권 정보를 사용하여 지정된 값을 문자열 표현으로 변환합니다.

ConvertToString(ITypeDescriptorContext, Object)

지정된 컨텍스트를 사용하여 지정된 값을 문자열 표현으로 변환합니다.

ConvertToString(Object)

지정된 값을 문자열 표현으로 변환합니다.

CreateInstance(IDictionary)

개체에 대한 속성 값 집합이 지정된 경우 Object 다시 만듭니다.

CreateInstance(ITypeDescriptorContext, IDictionary)

개체에 대한 속성 값 집합이 지정된 경우 지정된 컨텍스트를 사용하여 이 TypeConverter 연결된 형식의 인스턴스를 만듭니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

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

변환을 수행할 수 없는 경우 throw할 예외를 반환합니다.

GetConvertToException(Object, Type)

변환을 수행할 수 없는 경우 throw할 예외를 반환합니다.

GetCreateInstanceSupported()

이 개체의 값을 변경하려면 CreateInstance(IDictionary) 메서드를 호출하여 새 값을 만들어야 하는지 여부를 반환합니다.

GetCreateInstanceSupported(ITypeDescriptorContext)

이 개체의 값을 변경하려면 지정된 컨텍스트를 사용하여 새 값을 만들기 위해 CreateInstance(IDictionary) 호출이 필요한지 여부를 반환합니다.

GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

지정된 컨텍스트 및 특성을 사용하여 값 매개 변수로 지정된 배열 형식에 대한 속성 컬렉션을 반환합니다.

GetProperties(ITypeDescriptorContext, Object)

지정된 컨텍스트를 사용하여 값 매개 변수로 지정된 배열 형식에 대한 속성 컬렉션을 반환합니다.

GetProperties(Object)

값 매개 변수로 지정된 배열 형식에 대한 속성 컬렉션을 반환합니다.

GetPropertiesSupported()

이 개체가 속성을 지원하는지 여부를 반환합니다.

GetPropertiesSupported(ITypeDescriptorContext)

지정된 컨텍스트를 사용하여 이 개체가 속성을 지원하는지 여부를 반환합니다.

GetStandardValues()

이 형식 변환기가 디자인된 데이터 형식의 기본 컨텍스트에서 표준 값 컬렉션을 반환합니다.

GetStandardValues(ITypeDescriptorContext)

형식 컨텍스트와 함께 제공되는 경우 이 형식 변환기가 디자인된 데이터 형식에 대한 표준 값 컬렉션을 반환합니다.

GetStandardValuesExclusive()

GetStandardValues() 반환된 표준 값 컬렉션이 단독 목록인지 여부를 반환합니다.

GetStandardValuesExclusive(ITypeDescriptorContext)

지정된 컨텍스트를 사용하여 GetStandardValues() 반환된 표준 값 컬렉션이 가능한 값의 단독 목록인지 여부를 반환합니다.

GetStandardValuesSupported()

이 개체가 목록에서 선택할 수 있는 표준 값 집합을 지원하는지 여부를 반환합니다.

GetStandardValuesSupported(ITypeDescriptorContext)

이 개체가 지정된 컨텍스트를 사용하여 목록에서 선택할 수 있는 표준 값 집합을 지원하는지 여부를 반환합니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
IsValid(ITypeDescriptorContext, Object)

지정된 값 개체가 이 형식 및 지정된 컨텍스트에 대해 유효한지 여부를 반환합니다.

IsValid(Object)

지정된 값 개체가 이 형식에 유효한지 여부를 반환합니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
SortProperties(PropertyDescriptorCollection, String[])

속성 컬렉션을 정렬합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보