我试图理解为什么下面的代码没有按预期工作; 在TypeDescriptor根本就没有拿起从属性自定义转换器.我只能假设我犯了一个明显的错误,但我看不到它.
- 编辑 - 这个代码似乎在我自己在控制台中运行时工作,我实际上是在一个更复杂的应用程序和一个不同的命名空间中调用转换器.
- 编辑 - 或者有关如何调试TypeDescriptor的任何建议,以便我可以看到发生了什么,然后我可以自己回答这个问题.
- 编辑 - 这个问题几乎肯定与不同组件中的碎片有关.
- 编辑 - 由于动态加载程序集的一些怪癖,看起来这样做不起作用 - 这段代码在类似架构的插件下运行.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.ComponentModel;
namespace MyTest
{
public class TestTester
{
public static void Main(string[] args)
{
object v = TypeDescriptor.GetConverter(typeof(MyTest.Test)).ConvertFromInvariantString("Test");
}
}
public class TestConverter : TypeConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return false;
}
public override bool CanConvertFrom(ITypeDescriptorContext context, System.Type sourceType)
{
if (sourceType == typeof(string) …Run Code Online (Sandbox Code Playgroud)