TypeConverterAttribute TypeConverterAttribute TypeConverterAttribute TypeConverterAttribute Class

定義

この属性が関連付けられているオブジェクトのコンバーターとして使用する型を指定します。Specifies what type to use as a converter for the object this attribute is bound to.

public ref class TypeConverterAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class TypeConverterAttribute : Attribute
type TypeConverterAttribute = class
    inherit Attribute
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
継承
TypeConverterAttributeTypeConverterAttributeTypeConverterAttributeTypeConverterAttribute
属性

次の例で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

次の例のインスタンスを作成する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. 詳細については、次を参照してください。 TypeConverters および 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プロパティ定義 (外側の定義、固有ではないgetset定義)。In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

カスタムのアタッチ可能なメンバーの XAML の使用状況の型コンバーターの動作を適用することで割り当てることができるTypeConverterAttributegetXAML の使用状況をサポートするメソッド アクセサー。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 シリアル化のケースをオブジェクトのランタイムから追加の状態を必要とする、カスタム型またはメンバーのカスタム型コンバーターと属性だけでなく、値シリアライザー両方サポート クラスの定義を検討してください。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() TypeConverterAttribute() TypeConverterAttribute()

既定の型コンバーターである空の文字列 ("") を使用して、TypeConverterAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string ("").

TypeConverterAttribute(String) TypeConverterAttribute(String) TypeConverterAttribute(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(Type) TypeConverterAttribute(Type) 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 Default Default Default

この属性が関連付けられているオブジェクトのコンバーターとして使用する型を指定します。Specifies the type to use as a converter for the object this attribute is bound to.

プロパティ

ConverterTypeName ConverterTypeName ConverterTypeName 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 TypeId TypeId TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

メソッド

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

指定したオブジェクトの値が現在の TypeConverterAttribute と等しいかどうかを示す値を返します。Returns whether the value of the given object is equal to the current TypeConverterAttribute.

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

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

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

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

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

明示的なインターフェイスの実装

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

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

適用対象

こちらもご覧ください