1

我的项目的基类上有一个 TypeConverter。

[TypeConverter(typeof(CodeTypeConverter))]
abstract class CodeBase

我有许多继承这个基础的类

class TitleCode : CodeBase
class PreferenceCode : CodeBase

当调用类型转换器 (ValueProvider.ConvertSimpleType) 的事物不会创建上下文,因此不会通知 ConvertFrom 目标类型,因此它可以进行转换。

public override object ConvertFrom(
  ITypeDescriptorContext context, // this is null
  CultureInfo culture,
  object value)

有没有人遇到过这个问题?如果是这样,你有解决办法吗?

4

1 回答 1

0

我们最终做到了;

  1. 获取对象的 TypeConverter
  2. 创建实现 ITypeDescriptorContext 的代理上下文类
  3. 创建具有所需类型集的属性描述符

对于上述情况,CanConvertFrom 方法中添加了对空上下文的检查

MS有点想念这个,在我看来,您转换为的类型应该可用。这种变通方法仅在使用我们实现的 ModelBinder 时有效。

嗯,我克服了

于 2010-11-10T11:00:03.477 回答