自定义类型Observer的定义如下:
Castle的自定义类型转换    [Serializable]
Castle的自定义类型转换    
public class Observer
    }

现希望通过Castle注入属性

因为是数据配置文件可以写入如下形式
Castle的自定义类型转换                <Observers>
Castle的自定义类型转换                    
<item type="CSDN.Space.UpdatingService.ComponentModel.Observer">
Castle的自定义类型转换                        
<item><![CDATA[<Observer><IUpdatingSenderImplement>UpdatingSenderForUpdatingObserver1</IUpdatingSenderImplement></Observer>]]></item>
Castle的自定义类型转换                        
<item><![CDATA[<Observer><IUpdatingSenderImplement>UpdatingSenderForUpdatingObserver2</IUpdatingSenderImplement></Observer>]]></item>
Castle的自定义类型转换                    
</item>
Castle的自定义类型转换                
</Observers>

因为Observer不是系统自带类型,需要为其编写自定义转换的实现
Castle的自定义类型转换    public class ObserverTypeConverter : AbstractTypeConverter
    }

其中(Observer)Serializer.UTF8.ConvertToObject(value, targetType);实质是把
<![CDATA[<Observer><IUpdatingSenderImplement>UpdatingSenderForUpdatingObserver1</IUpdatingSenderImplement></Observer>]]>
的内容反序化为Observer对象


完成ObserverTypeConverter的定义后需要添加到容器IConversionManager中.

Castle的自定义类型转换    internal class ContainerBuilder
    }

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2022-12-23
  • 2021-10-24
  • 2021-04-30
  • 2021-09-04
  • 2022-01-17
猜你喜欢
  • 2022-12-23
  • 2021-10-04
  • 2021-12-13
  • 2021-08-19
  • 2021-06-12
  • 2022-12-23
相关资源
相似解决方案