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
파생
특성

예제

다음 코드 예제에서는 형식 변환기의 instance 만들고 클래스에 바인딩하는 방법을 보여줍니다. 변환기 를 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 프로세서는 TypeConverterAttribute 를 통과하는 TypeDescriptor대신 를 직접 검색합니다. 코드에서 instance 하려는 TypeDescriptor 경우 또는 WPF 리소스에서 공유 instance 만드는 경우 참조 TypeDescriptor 또는 다른 리플렉션 및 형식 시스템 지원 없이 직접 생성할 수 있습니다.

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

상속자 참고

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

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

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

생성자

TypeConverter()

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

메서드

CanConvertFrom(ITypeDescriptorContext, Type)

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

CanConvertFrom(Type)

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

CanConvertTo(ITypeDescriptorContext, Type)

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

CanConvertTo(Type)

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

ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

지정한 컨텍스트와 culture 정보를 사용하여 지정된 개체를 이 변환기의 유형으로 변환합니다.

ConvertFrom(Object)

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

ConvertFromInvariantString(ITypeDescriptorContext, String)

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

ConvertFromInvariantString(String)

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

ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

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

ConvertFromString(ITypeDescriptorContext, String)

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

ConvertFromString(String)

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

ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

지정한 컨텍스트와 culture 정보를 사용하여 지정된 값 개체를 지정된 유형으로 변환합니다.

ConvertTo(Object, Type)

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

ConvertToInvariantString(ITypeDescriptorContext, Object)

지정된 context를 사용하여, 지정된 값을 고정 문화권의 문자열 표현으로 변환합니다.

ConvertToInvariantString(Object)

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

ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

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

ConvertToString(ITypeDescriptorContext, Object)

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

ConvertToString(Object)

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

CreateInstance(IDictionary)

개체의 속성 값 집합이 지정된 Object를 다시 만듭니다.

CreateInstance(ITypeDescriptorContext, IDictionary)

지정된 컨텍스트를 사용하여 이 TypeConverter가 연결된 형식의 인스턴스를 만들어 개체의 속성 값 집합을 제공합니다.

Equals(Object)

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

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

변환을 수행할 수 없을 때 발생하는 예외를 반환합니다.

GetConvertToException(Object, Type)

변환을 수행할 수 없을 때 발생하는 예외를 반환합니다.

GetCreateInstanceSupported()

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

GetCreateInstanceSupported(ITypeDescriptorContext)

이 개체의 값을 변경하려는 경우 CreateInstance(IDictionary) 호출을 통해 지정된 컨텍스트를 사용하여 새 값을 만들어야 하는지 여부를 반환합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

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

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

GetProperties(ITypeDescriptorContext, Object, Attribute[])

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

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)

적용 대상

추가 정보