1

这似乎是TypeDescriptor动态元数据架构中的一个奇怪差距。所有TypeConverterUITypeEditor其他动态设计器、编辑器和转换器类都提供对IServiceProvider允许将设计上下文传递给实现类的对象的访问。

出于某种原因,这在TypeDescriptionProvider,CustomTypeDescriptor和相关的接口中是绝对缺失的。有没有办法在动态扩展类的元数据/属性时访问编辑器设计上下文?

4

1 回答 1

1

在考虑了更多之后,我得出结论,这可以通过创建TypeDescriptionProvider由设计者自己提供的动态实现来解决。此实现可以通过某些特定于域的属性直接接收上下文。

然后可以使用该TypeDescriptor.AddProvider方法关联动态类型描述提供程序,传入自定义提供程序和目标类型。

于 2017-09-20T21:58:06.200 回答