c# - 是否可以使用反序列化进行构造函数注入(inject)?

标签 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 具有通过构造函数注入(inject)传递的依赖项。

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

还有另一种方法可以在不将状态与我的 MyPOCOType 分开并且不使用 [Inject] 属性的情况下做到这一点吗? (仍然使用构造函数注入(inject))

最佳答案

XmlSerializer 不支持这个,并且没有外部构造的 Hook 。所以:不,基本上。

关于c# - 是否可以使用反序列化进行构造函数注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28837677/

相关文章:

c# - 将 WPF 样式应用于 UserControl 中的边框

c# - 获取 TreeView 中的扩展节点

c# - 在域中运行的单元测试中获取物理文件路径而不是域的相对路径

java - <T 扩展可识别<?扩展可序列化>>?

c# - 告诉 Json.Net 在序列化对象时编写单引号而不是双引号

java - 如何从 AsynchronousSocketChannel 反序列化可序列化对象

c# - 如何有效地限制然后将结果与 linq/lambda 表达式连接?

.net - 许多-'small'组件的特定缺点?

c# - 使用 NUnit 在不同的应用程序域中运行单元测试

c# - 有没有办法传播多次注入(inject)?