是否可以使用反序列化进行构造函数注入?

时间:2015-03-03 17:03:54

标签: c# serialization ninject inversion-of-control ioc-container

在以下代码中:

var serializer = new XmlSerializer(typeof(MyPOCOType));
using (var reader = XmlReader.Create(fileName))
{
    var pocoInstance = (MyPOCOType)serializer.Deserialize(reader);
}

我正在使用ninject。

MyPOCOType具有由构造函数注入传递的依赖项。

MyPOCOType的实例是由Deserialize方法创建的,因此不提供依赖项。

如果不将状态与MyPOCOType分开并且不使用[Inject]属性,还有另一种方法吗? (仍然使用构造函数注入)

1 个答案:

答案 0 :(得分:4)

XmlSerializer不支持此功能,并且没有外部构造的挂钩。所以:不,基本上。