TRI*_*its 16 .net c# type-conversion typeconverter sealed
创建类时,可以使用TypeDescriptor.GetConverter(typeof(T))将TypeConverter属性应用于它,返回自定义类型转换器.例如:
[TypeConverter(typeof(FooConverter))]
public class Foo
{...}
public class FooConverter: TypeConverter
{...}
var tc = TypeDescriptor.GetConverter(typeof(T)); //returns a FooConverter instance.
Run Code Online (Sandbox Code Playgroud)
只要课程是我们制作的,这就有效.但是如何为我们无法修改源代码的类提供自定义TypeConverter?例如,如何为System.Version类(没有一个)提供自定义TypeConverter?
Mir*_*Mir 14
您可以在运行时执行此操作.有了这些课程:
class MyConverter : TypeConverter
{
}
sealed class MyClass
{
}
Run Code Online (Sandbox Code Playgroud)
您可以使用:
TypeDescriptor.AddAttributes(typeof(MyClass), new TypeConverterAttribute(typeof(MyConverter)));
Run Code Online (Sandbox Code Playgroud)