我正在寻找一种将附加信息传递给 a 的方法TypeConverter
,以便在不创建自定义构造函数的情况下为转换提供一些上下文。
传递的额外信息将是包含我正在转换的属性的原始对象(在编译时称为接口)。它包含自己的属性,这些属性Id
对于查找转换相关信息很有用。
我已经查看了ITypeDescriptorContext的文档,但我还没有找到一个明确的示例来说明如何实现该接口。我也不相信这是我需要的工具。
目前,在我的代码中,我正在调用:
// For each writeable property in my output class.
// If property has TypeConverterAttribute
var converted = converter.ConvertFrom(propertyFromOriginalObject)
propertyInfo.SetValue(output, converted, null);
我想做的是类似的事情。
// Original object is an interface at compile time.
var mayNewValue = converter.ConvertFrom(originalObject, propertyFromOriginalObject)
我希望能够使用其中一个重载来做我需要的事情,以便任何自定义转换器都可以继承TypeConverter
而不是具有自定义构造函数的基类,因为这将使依赖注入和使用DependencyResolver.Current.GetService(type)
MVC 来初始化的生活更轻松我的转换器。
有任何想法吗?