在运行时添加TypeConverterAttribute不会导致正确的TypeConverter

时间:2015-09-26 10:42:29

标签: c# attributes typeconverter typedescriptor

对于序列化/反序列化的目的,我想为位于外部编译程序集中的类型设置TypeConverter。

我偶然发现了这个问题,但提供的解决方案似乎对我不起作用: Add TypeConverter attribute to enum in runtime

TypeDescriptor.AddAttributes(typeof(ExternalType),
new TypeConverterAttribute(typeof(ExternalTypeTypeConverter)));

调用

TypeDescriptor.GetAttributes(typeof(ExternalType));

按预期返回属性,但调用

TypeDescriptor.GetConverter(typeof(ExternalType));

不返回先前添加的转换器,只返回TypeConverter基类。

1 个答案:

答案 0 :(得分:0)

经过一些实验后发现该解决方案已经正确但由于我的运行配置而无法正常工作。使用"正常"入口点一切正常(我使用的是最新ReSharper版本的静态调试钩子,请参阅http://blog.jetbrains.com/dotnet/2015/08/28/run-configurations-debug-any-static-method-in-visual-studio-and-more/