c# - 使用 lambda 表达式注册类型

标签 c# lambda unity-container

我想知道如何在 UnityContainer 中实现这样的功能:

container.RegisterType<IDummy>(Func<IDummy>) // deferred resolution

最佳答案

如果你要注册工厂而不是实例,试试这个:

container.RegisterType<IDummy>(new InjectionFactory(context => new Dummy()));

只需用您的 lambda 替换“context => new Dummy()”即可。

关于c# - 使用 lambda 表达式注册类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24256940/

相关文章:

c# - 空的 Outlook 加载项会导致立即崩溃

c# - 向用户显示成功消息

c# - 否定 `.Where()` LINQ 表达式

c# - 解析同一接口(interface)的两个实例

c# - 如何自动化定期执行作业的 WCF 服务

c# - 返回一个实体类的列表

c# - 将已编译的 Func 方法添加在一起的目的是什么?

java - 为什么使用 lambda 进行日志记录更好的事实

c# - Unity [Depedency] Annotation 本身不是一个依赖吗?

unity-container - 为什么Unity的RegisterInstance<...>会导致Unity返回多个实例?