Specifies what type to use as a converter for the object this attribute is bound to.
Assembly: System (in System.dll)
<[%$TOPIC/s5bse4c4_en-us_VS_110_2_0_0_0_0%]([%$TOPIC/s5bse4c4_en-us_VS_110_2_0_0_0_1%].All)> _
Public NotInheritable Class TypeConverterAttribute _
Inherits [%$TOPIC/s5bse4c4_en-us_VS_110_2_0_0_0_2%]
[[%$TOPIC/s5bse4c4_en-us_VS_110_2_0_1_0_0%]([%$TOPIC/s5bse4c4_en-us_VS_110_2_0_1_0_1%].All)]
public sealed class TypeConverterAttribute : [%$TOPIC/s5bse4c4_en-us_VS_110_2_0_1_0_2%]
[[%$TOPIC/s5bse4c4_en-us_VS_110_2_0_2_0_0%]([%$TOPIC/s5bse4c4_en-us_VS_110_2_0_2_0_1%]::All)]
public ref class TypeConverterAttribute sealed : public [%$TOPIC/s5bse4c4_en-us_VS_110_2_0_2_0_2%]
[<[%$TOPIC/s5bse4c4_en-us_VS_110_2_0_3_0_0%]>]
[<[%$TOPIC/s5bse4c4_en-us_VS_110_2_0_3_0_1%]([%$TOPIC/s5bse4c4_en-us_VS_110_2_0_3_0_2%].All)>]
type TypeConverterAttribute =
class
inherit [%$TOPIC/s5bse4c4_en-us_VS_110_2_0_3_0_3%]
end
The TypeConverterAttribute type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | TypeConverterAttribute | Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string (""). |
![]() | TypeConverterAttribute(String) | 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) | Initializes a new instance of the TypeConverterAttribute class, using the specified type as the data converter for the object this attribute is bound to. |
| Name | Description | |
|---|---|---|
![]() | ConverterTypeName | Gets the fully qualified type name of the Type to use as a converter for the object this attribute is bound to. |
![]() | TypeId | When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute.) |
| Name | Description | |
|---|---|---|
![]() | Equals | Returns whether the value of the given object is equal to the current TypeConverterAttribute. (Overrides AttributeEquals(Object).) |
![]() | GetHashCode | Returns the hash code for this instance. (Overrides AttributeGetHashCode.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | 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 | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | Default | Specifies the type to use as a converter for the object this attribute is bound to. |
| Name | Description | |
|---|---|---|
![]() | _AttributeGetIDsOfNames | Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.) |
![]() | _AttributeGetTypeInfo | Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.) |
![]() | _AttributeGetTypeInfoCount | Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.) |
![]() | _AttributeInvoke | Provides access to properties and methods exposed by an object. (Inherited from Attribute.) |
The class you use for conversion must inherit from TypeConverter. 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 Extending Metadata Using Attributes. For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.
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. 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. For more information, see TypeConverters and XAML.
Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).
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.
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. For more information, see ValueSerializer.
The following example declares MyClass to use the type converter called MyClassConverter. This example assumes that MyClassConverter has been implemented elsewhere. The class implementing the converter (MyClassConverter) must inherit from the TypeConverter class.
<TypeConverter(GetType(MyClassConverter))> _
Public Class ClassA
' Insert code here.
End Class 'MyClass
[TypeConverter(typeof(MyClassConverter))]
public class MyClass {
// Insert code here.
}
[TypeConverter(Class1::MyClassConverter::typeid)]
ref class MyClass{
// Insert code here.
};
The next example creates an instance of MyClass. Then it gets the attributes for the class, and prints the name of the type converter used by MyClass.
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
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;
}
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;
}
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.gif)
.gif)
.gif)
.gif)