TypeConverter TypeConverter TypeConverter TypeConverter Class

定義

値の型を他の型に変換し、標準値とサブプロパティにアクセスするための統一的な方法を提供します。Provides a unified way of converting types of values to other types, as well as for accessing standard values and subproperties.

public ref class TypeConverter
[System.Runtime.InteropServices.ComVisible(true)]
public class TypeConverter
type TypeConverter = class
Public Class TypeConverter
継承
TypeConverterTypeConverterTypeConverterTypeConverter
派生
属性

次のコード例では、型コンバーターのインスタンスを作成し、クラスにバインドする方法を示します。The following code example shows how to create an instance of a type converter and bind it to a class. コンバーターを実装するクラスMyClassConverterから継承する必要があります、TypeConverterクラス。The class implementing the converter, MyClassConverter, must inherit from the TypeConverter class.

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 'MyClass

列挙型を持つプロパティがある場合は、ときに、プロパティを設定する前に、列挙値が有効かどうかを確認します。When you have a property that has an enumeration, check to see whether an enumeration value is valid before setting the property. 次のコード例では、列挙型と呼ばれることが必要ですMyPropertyEnumは宣言されています。The next code example requires that an enumeration called MyPropertyEnum has been declared.

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

もう 1 つの一般的な型コンバーターの使用では、オブジェクトを文字列に変換します。Another common type converter usage is to convert an object to a string. 次のコード例の名前を出力、Color変数に格納されているcします。The following code example prints out the name of the Color stored in the variable c.

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

次のコード例に示すようには、名前から値を変換するのに型コンバーターを使用することもできます。You can also use a type converter to convert a value from its name, as shown in the next code example.

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)

次のコード例では、オブジェクトがサポートする標準の値のセットを印刷する型コンバーターを使用できます。In the following code example, you can use a type converter to print out the set of standard values that the object supports.

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

注釈

コンバーターの最も一般的な型は、いずれかのテキスト表現との間に変換します。The most common type of converter is one that converts to and from a text representation. クラスの型コンバーターを使用して、クラスにバインドするTypeConverterAttributeします。The type converter for a class is bound to the class with a TypeConverterAttribute. この属性をオーバーライドすると、しない限り、このクラスから継承するすべてのクラスは基底クラスとして同じの型コンバーターを使用します。Unless this attribute is overridden, all classes that inherit from this class use the same type converter as the base class.

注意

一般的な型システムの目的で、型コンバーターを直接アクセスしないでください。For general type system purposes, do not access a type converter directly. 代わりに、適切なコンバーターを使用してアクセスTypeDescriptorします。Instead, access the appropriate converter by using TypeDescriptor. 詳細については、提供されたコード例を参照してください。For more information, see the code examples provided.

ただし、XAML を使用する場合、XAML プロセッサを検索、TypeConverterAttribute経由ではなく、直接TypeDescriptorします。However, when using XAML, a XAML processor searches for the TypeConverterAttribute directly, instead of going through TypeDescriptor. 行う必要がある場合のTypeDescriptor、コードからインスタンス、または WPF での共有インスタンスを作成するリソースを参照することがなく直接構築に許容されるTypeDescriptorまたは他のリフレクションと型システムをサポートします。For cases where you do want a TypeDescriptor instance from code, or where you create a shared instance in WPF resources, it is acceptable to construct it directly without referencing TypeDescriptor or other reflection and type system support.

派生したクラスTypeConverter(これは文字列では本質的に) マークアップから XAML プロセッサが属性または初期化のテキスト値に変換する方法の一部として参照される多くの場合、実行時の表現のオブジェクトを生成します。Classes derived from TypeConverter are often referenced as part of how a XAML processor converts an attribute or initialization text value from markup (which is inherently a string) and generates an object for a run-time representation. 通常、XAML の型変換の動作をサポートするカスタム型の作成者が実装をTypeConverter独自一意をサポートするクラスConvertFrom文字列からの動作。Custom type authors that intend to support a type conversion behavior for XAML typically implement a TypeConverter class that supports their own unique ConvertFrom behavior from a string. この動作は、XAML 属性の値として指定された文字列からの型変換を使用し、解析されたオブジェクト グラフのオブジェクトを生成できるように、文字列からオブジェクトを作成するために必要なサポートと XAML プロセッサを提供します。This behavior enables type conversion from the string provided as a XAML attribute value and provides a XAML processor with the support needed to create an object from the string, so that the object can be produced in a parsed object graph. カスタムの型またはカスタムの型のメンバーが適用することによって示されるTypeConverterAttribute、定義の属性を持つ参照カスタムTypeConverter実装します。Custom types or members of custom types are indicated by applying TypeConverterAttribute to the definitions, with the attribute referencing the custom TypeConverter implementation. 詳細については、次を参照してください。 XAML の概要の型コンバーターのします。For more information, see Type Converters for XAML Overview.

注意 (継承者)

継承TypeConverter変換要件を実装します。Inherit from TypeConverter to implement your own conversion requirements. このクラスから継承する場合は、次のメソッドをオーバーライドできます。When you inherit from this class, you can override the following methods: 、カスタムの型変換をサポートするにはオーバーライド、 CanConvertFrom(ITypeDescriptorContext, Type)CanConvertTo(ITypeDescriptorContext, Type)ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)、およびConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)メソッド。- To support custom type conversion, override the CanConvertFrom(ITypeDescriptorContext, Type), CanConvertTo(ITypeDescriptorContext, Type), ConvertFrom(ITypeDescriptorContext, CultureInfo, Object), and ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) methods.

型に変換する値を変更するオブジェクトの再作成する必要がありますが、オーバーライド、CreateInstance(ITypeDescriptorContext, IDictionary)GetCreateInstanceSupported(ITypeDescriptorContext)メソッド。- To convert types that must re-create the object to change its value, override the CreateInstance(ITypeDescriptorContext, IDictionary) and GetCreateInstanceSupported(ITypeDescriptorContext) methods.

、プロパティをサポートする型に変換するにはオーバーライド、GetProperties(ITypeDescriptorContext, Object, Attribute[])GetPropertiesSupported(ITypeDescriptorContext)メソッド。- To convert types that support properties, override the GetProperties(ITypeDescriptorContext, Object, Attribute[]) and GetPropertiesSupported(ITypeDescriptorContext) methods. 変換するクラスには、プロパティがないとプロパティを実装する必要がある、使用することができる場合、TypeConverter.SimplePropertyDescriptorプロパティ記述子を実装するためのベースとしてクラス。If the class you are converting does not have properties, and you need to implement properties, you can use the TypeConverter.SimplePropertyDescriptor class as a base for implementing the property descriptors. 継承する場合TypeConverter.SimplePropertyDescriptor、オーバーライドする必要があります、GetValue(Object)SetValue(Object, Object)メソッド。When you inherit from TypeConverter.SimplePropertyDescriptor, you must override the GetValue(Object) and SetValue(Object, Object) methods.

、標準値をサポートする型に変換するにはオーバーライド、 GetStandardValues(ITypeDescriptorContext)GetStandardValuesExclusive(ITypeDescriptorContext)GetStandardValuesSupported(ITypeDescriptorContext)IsValid(ITypeDescriptorContext, Object)メソッド。- To convert types that support standard values, override the GetStandardValues(ITypeDescriptorContext), GetStandardValuesExclusive(ITypeDescriptorContext), GetStandardValuesSupported(ITypeDescriptorContext) and IsValid(ITypeDescriptorContext, Object) methods.

派生型としてマークinternalまたはprivateで、型のインスタンスを作成できますが、TypeDescriptorクラス。Your derived type might be marked as internal or private, but an instance of your type can be created with the TypeDescriptor class. 呼び出し元を想定して、安全でないコードが信頼されているとは書き込みません。Do not write insecure code by assuming the caller is trusted. 代わりに呼び出し元が部分信頼で型のインスタンスを作成が前提としています。Assume instead that callers might create instances of your type in partial trust.

[全般] (XAML ではない) のための型コンバーターの詳細については、次を参照してください。方法。型コンバーターを実装または型変換を汎用化します。For more information about type converters for general (non-XAML) purposes, see How to: Implement a Type Converter or Generalized Type Conversion.

コンストラクター

TypeConverter() TypeConverter() TypeConverter() TypeConverter()

TypeConverter クラスの新しいインスタンスを初期化します。Initializes a new instance of the TypeConverter class.

メソッド

CanConvertFrom(ITypeDescriptorContext, Type) CanConvertFrom(ITypeDescriptorContext, Type) CanConvertFrom(ITypeDescriptorContext, Type) CanConvertFrom(ITypeDescriptorContext, Type)

このコンバーターが、指定したコンテキストを使用して、指定された型のオブジェクトをこのコンバーターの型に変換できるかどうかを返します。Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.

CanConvertFrom(Type) CanConvertFrom(Type) CanConvertFrom(Type) CanConvertFrom(Type)

コンバーターが特定の型のオブジェクトをコンバーターの型に変換できるかどうかを示す値を返します。Returns whether this converter can convert an object of the given type to the type of this converter.

CanConvertTo(ITypeDescriptorContext, Type) CanConvertTo(ITypeDescriptorContext, Type) CanConvertTo(ITypeDescriptorContext, Type) CanConvertTo(ITypeDescriptorContext, Type)

このコンバーターが指定のコンテキストを使用して、オブジェクトを指定の型に変換できるかどうかを返します。Returns whether this converter can convert the object to the specified type, using the specified context.

CanConvertTo(Type) CanConvertTo(Type) CanConvertTo(Type) CanConvertTo(Type)

コンバーターがオブジェクトを指定した型に変換できるかどうかを示す値を返します。Returns whether this converter can convert the object to the specified type.

ConvertFrom(ITypeDescriptorContext, CultureInfo, Object) ConvertFrom(ITypeDescriptorContext, CultureInfo, Object) ConvertFrom(ITypeDescriptorContext, CultureInfo, Object) ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

指定したコンテキストとカルチャ情報を使用して、指定されたオブジェクトをこのコンバーターの型に変換します。Converts the given object to the type of this converter, using the specified context and culture information.

ConvertFrom(Object) ConvertFrom(Object) ConvertFrom(Object) ConvertFrom(Object)

指定した値をコンバーターの型に変換します。Converts the given value to the type of this converter.

ConvertFromInvariantString(ITypeDescriptorContext, String) ConvertFromInvariantString(ITypeDescriptorContext, String) ConvertFromInvariantString(ITypeDescriptorContext, String) ConvertFromInvariantString(ITypeDescriptorContext, String)

インバリアント カルチャと指定したコンテキストを使用して、指定した文字列をコンバーターの型に変換します。Converts the given string to the type of this converter, using the invariant culture and the specified context.

ConvertFromInvariantString(String) ConvertFromInvariantString(String) ConvertFromInvariantString(String) ConvertFromInvariantString(String)

インバリアント カルチャを使用して、指定した文字列をコンバーターの型に変換します。Converts the given string to the type of this converter, using the invariant culture.

ConvertFromString(ITypeDescriptorContext, CultureInfo, String) ConvertFromString(ITypeDescriptorContext, CultureInfo, String) ConvertFromString(ITypeDescriptorContext, CultureInfo, String) ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

指定したコンテキストとカルチャ情報を使用して、指定したテキストをオブジェクトに変換します。Converts the given text to an object, using the specified context and culture information.

ConvertFromString(ITypeDescriptorContext, String) ConvertFromString(ITypeDescriptorContext, String) ConvertFromString(ITypeDescriptorContext, String) ConvertFromString(ITypeDescriptorContext, String)

指定したコンテキストを使用して、指定したテキストをオブジェクトに変換します。Converts the given text to an object, using the specified context.

ConvertFromString(String) ConvertFromString(String) ConvertFromString(String) ConvertFromString(String)

指定したテキストをオブジェクトに変換します。Converts the specified text to an object.

ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

指定したコンテキストとカルチャ情報を使用して、指定した値オブジェクトを、指定した型に変換します。Converts the given value object to the specified type, using the specified context and culture information.

ConvertTo(Object, Type) ConvertTo(Object, Type) ConvertTo(Object, Type) ConvertTo(Object, Type)

引数を使用して、指定した値オブジェクトを、指定した型に変換します。Converts the given value object to the specified type, using the arguments.

ConvertToInvariantString(ITypeDescriptorContext, Object) ConvertToInvariantString(ITypeDescriptorContext, Object) ConvertToInvariantString(ITypeDescriptorContext, Object) ConvertToInvariantString(ITypeDescriptorContext, Object)

指定したコンテキストを使用して、指定した値をインバリアント カルチャを使用した文字列形式に変換します。Converts the specified value to a culture-invariant string representation, using the specified context.

ConvertToInvariantString(Object) ConvertToInvariantString(Object) ConvertToInvariantString(Object) ConvertToInvariantString(Object)

指定した値を、インバリアント カルチャを使用した文字列形式に変換します。Converts the specified value to a culture-invariant string representation.

ConvertToString(ITypeDescriptorContext, CultureInfo, Object) ConvertToString(ITypeDescriptorContext, CultureInfo, Object) ConvertToString(ITypeDescriptorContext, CultureInfo, Object) ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

指定したコンテキストとカルチャ情報を使用して、指定した値を文字列形式に変換します。Converts the given value to a string representation, using the specified context and culture information.

ConvertToString(ITypeDescriptorContext, Object) ConvertToString(ITypeDescriptorContext, Object) ConvertToString(ITypeDescriptorContext, Object) ConvertToString(ITypeDescriptorContext, Object)

指定したコンテキストを使用して、指定した値を文字列形式に変換します。Converts the given value to a string representation, using the given context.

ConvertToString(Object) ConvertToString(Object) ConvertToString(Object) ConvertToString(Object)

指定した値を文字列形式に変換します。Converts the specified value to a string representation.

CreateInstance(IDictionary) CreateInstance(IDictionary) CreateInstance(IDictionary) CreateInstance(IDictionary)

Object の一連のプロパティ値を指定して、そのオブジェクトを再作成します。Re-creates an Object given a set of property values for the object.

CreateInstance(ITypeDescriptorContext, IDictionary) CreateInstance(ITypeDescriptorContext, IDictionary) CreateInstance(ITypeDescriptorContext, IDictionary) CreateInstance(ITypeDescriptorContext, IDictionary)

この TypeConverter を関連付ける型のインスタンスを作成します。指定されたコンテキストと、与えられているオブジェクトのプロパティ値のセットを使用します。Creates an instance of the type that this TypeConverter is associated with, using the specified context, given a set of property values for the object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetConvertFromException(Object) GetConvertFromException(Object) GetConvertFromException(Object) GetConvertFromException(Object)

変換を実行できなかった場合にスローされる例外を返します。Returns an exception to throw when a conversion cannot be performed.

GetConvertToException(Object, Type) GetConvertToException(Object, Type) GetConvertToException(Object, Type) GetConvertToException(Object, Type)

変換を実行できなかった場合にスローされる例外を返します。Returns an exception to throw when a conversion cannot be performed.

GetCreateInstanceSupported() GetCreateInstanceSupported() GetCreateInstanceSupported() GetCreateInstanceSupported()

このオブジェクトの値を変更するときに CreateInstance(IDictionary) メソッドを呼び出して、新しい値を作成する必要があるかどうかを返します。Returns whether changing a value on this object requires a call to the CreateInstance(IDictionary) method to create a new value.

GetCreateInstanceSupported(ITypeDescriptorContext) GetCreateInstanceSupported(ITypeDescriptorContext) GetCreateInstanceSupported(ITypeDescriptorContext) GetCreateInstanceSupported(ITypeDescriptorContext)

このオブジェクトの値を変更するときに、指定したコンテキストを使用して CreateInstance(IDictionary) を呼び出して、新しい値を作成する必要があるかどうかを返します。Returns whether changing a value on this object requires a call to CreateInstance(IDictionary) to create a new value, using the specified context.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetProperties(ITypeDescriptorContext, Object) GetProperties(ITypeDescriptorContext, Object) GetProperties(ITypeDescriptorContext, Object) GetProperties(ITypeDescriptorContext, Object)

指定したコンテキストを使用して、value パラメーターで指定された配列型のプロパティのコレクションを返します。Returns a collection of properties for the type of array specified by the value parameter, using the specified context.

GetProperties(ITypeDescriptorContext, Object, Attribute[]) GetProperties(ITypeDescriptorContext, Object, Attribute[]) GetProperties(ITypeDescriptorContext, Object, Attribute[]) GetProperties(ITypeDescriptorContext, Object, Attribute[])

指定したコンテキストと属性を使用して、value パラメーターで指定された配列型のプロパティのコレクションを返します。Returns a collection of properties for the type of array specified by the value parameter, using the specified context and attributes.

GetProperties(Object) GetProperties(Object) GetProperties(Object) GetProperties(Object)

value パラメーターに指定された配列型のプロパティのコレクションを返します。Returns a collection of properties for the type of array specified by the value parameter.

GetPropertiesSupported() GetPropertiesSupported() GetPropertiesSupported() GetPropertiesSupported()

オブジェクトがプロパティをサポートしているかどうかを示す値を返します。Returns whether this object supports properties.

GetPropertiesSupported(ITypeDescriptorContext) GetPropertiesSupported(ITypeDescriptorContext) GetPropertiesSupported(ITypeDescriptorContext) GetPropertiesSupported(ITypeDescriptorContext)

指定したコンテキストを使用して、オブジェクトがプロパティをサポートしているかどうかを示す値を返します。Returns whether this object supports properties, using the specified context.

GetStandardValues() GetStandardValues() GetStandardValues() GetStandardValues()

型コンバーターがデザインされた対象であるデータ型の既定のコンテキストから、標準値のコレクションを返します。Returns a collection of standard values from the default context for the data type this type converter is designed for.

GetStandardValues(ITypeDescriptorContext) GetStandardValues(ITypeDescriptorContext) GetStandardValues(ITypeDescriptorContext) GetStandardValues(ITypeDescriptorContext)

書式指定コンテキストが指定されている場合、型コンバーターがデザインされた対象のデータ型の標準値のコレクションを返します。Returns a collection of standard values for the data type this type converter is designed for when provided with a format context.

GetStandardValuesExclusive() GetStandardValuesExclusive() GetStandardValuesExclusive() GetStandardValuesExclusive()

GetStandardValues() から返された標準値のコレクションが、排他的なリストかどうかを示す値を返します。Returns whether the collection of standard values returned from GetStandardValues() is an exclusive list.

GetStandardValuesExclusive(ITypeDescriptorContext) GetStandardValuesExclusive(ITypeDescriptorContext) GetStandardValuesExclusive(ITypeDescriptorContext) GetStandardValuesExclusive(ITypeDescriptorContext)

指定したコンテキストを使用して、GetStandardValues() から返された標準値のコレクションが有効値の排他的なリストかどうかを示す値を返します。Returns whether the collection of standard values returned from GetStandardValues() is an exclusive list of possible values, using the specified context.

GetStandardValuesSupported() GetStandardValuesSupported() GetStandardValuesSupported() GetStandardValuesSupported()

リストから選択できる標準値セットをオブジェクトがサポートするかどうかを示す値を返します。Returns whether this object supports a standard set of values that can be picked from a list.

GetStandardValuesSupported(ITypeDescriptorContext) GetStandardValuesSupported(ITypeDescriptorContext) GetStandardValuesSupported(ITypeDescriptorContext) GetStandardValuesSupported(ITypeDescriptorContext)

指定したコンテキストを使用して、リストから選択できる標準値セットをオブジェクトがサポートするかどうかを示す値を返します。Returns whether this object supports a standard set of values that can be picked from a list, using the specified context.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IsValid(ITypeDescriptorContext, Object) IsValid(ITypeDescriptorContext, Object) IsValid(ITypeDescriptorContext, Object) IsValid(ITypeDescriptorContext, Object)

指定した値オブジェクトが、型および指定したコンテキストに対して有効かどうかを示す値を返します。Returns whether the given value object is valid for this type and for the specified context.

IsValid(Object) IsValid(Object) IsValid(Object) IsValid(Object)

指定した値オブジェクトが型に対して有効かどうかを示す値を返します。Returns whether the given value object is valid for this type.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
SortProperties(PropertyDescriptorCollection, String[]) SortProperties(PropertyDescriptorCollection, String[]) SortProperties(PropertyDescriptorCollection, String[]) SortProperties(PropertyDescriptorCollection, String[])

プロパティのコレクションを並べ替えます。Sorts a collection of properties.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください