这似乎是TypeDescriptor
动态元数据架构中的一个奇怪的差距。所有TypeConverter
,UITypeEditor
和其他动态设计器,编辑器和转换器类都提供对IServiceProvider
对象的访问,允许将设计上下文传递给实现类。
由于某种原因,TypeDescriptionProvider
,CustomTypeDescriptor
和相关接口完全没有这个。有没有办法在动态扩展类的元数据/属性的同时访问编辑器设计上下文?
答案 0 :(得分:0)
在仔细考虑之后,我得出结论,这可以通过创建由设计者自己提供的动态TypeDescriptionProvider
实现来解决。此实现可以直接通过某些特定于域的属性接收上下文。
然后可以使用TypeDescriptor.AddProvider
方法关联动态类型描述提供者,传入自定义提供者和目标类型。