我已经创建了一个泛型类型简单的注射器:注册开放式泛型类型与构造函数的参数
public interface IContext<T> {}
而且,我有一个类型实现的是(与参数的构造函数)
public class Context<T> : IContext<T> { public Context(string url, string key) { } ... }
我想注册简单的注射器。通过下面的代码,我不知道如何通过值构造
container.Register(typeof(IContext<>), typeof(Context<>))
This一个显示了一种方法,如果我在构造函数的参数传递的类型。但是,对我而言,它只是原始类型。看起来像是通过压倒一切的施工解决方案行为,我可能做到这一点。但是,真的不知道我该如何利用它。有人能指导我找到一个合适的方式来注册吗?
感谢您的见解史蒂文。我想我可以按照你的建议创建一个DTO。但是,为什么我会将其注册为单身人士?我不能在运行时传递参数吗? (我的要求也是在运行时通过它们) –
@AthiS:啊,那是你的问题中缺少的一些重要信息。值是_runtime _data_。请阅读[本文](https://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=99)。它描述了如何处理运行时数据。 – Steven
有趣的阅读史蒂文。通过输入,我改变了设计,以便运行时数据不会通过构造函数传递 –