首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用依赖注入注入字典

使用依赖注入注入字典
EN

Stack Overflow用户
提问于 2015-06-02 20:44:13
回答 1查看 2.5K关注 0票数 3

我为我的项目创建了一个函数(字典):

代码语言:javascript
复制
private static Dictionary<string, Func<IMessageProcessor>> strategyFactories = new Dictionary<string, Func<IMessageProcessor>>()
    {
        { "T.2.12.0", new Func<IMessageProcessor>(() => new HVPVTParser()) },
        { "T.3.03.0", new Func<IMessageProcessor>(() => new PVTParser()) },
        { "Unknown", new Func<IMessageProcessor>(() => new UnknownParser()) }
    };

根据要求,我想去掉类的新运算符(HVPVTParser、PVTParser和UnknownParser)。我可以通过依赖注入来改善功能吗?在研究过程中,我找到了一种注入字典的方法。我听不懂“注入”这个词。有人能提供代码示例来实现我的目标或任何解决问题的指导方针吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-02 21:32:16

通常,您可以“注入”某种实现接口的服务。在你的例子中,它应该是这样的:

代码语言:javascript
复制
public interface IStrategyFactoryService
{
    public Dictionary<string, Func<IMessageProcessor>> Factories {get;}
}

然后,类将有一个构造函数参数(如果类函数需要数据)或一个属性(如果数据有用,但不是必需的)。

然后创建实现该接口的类--为“实时”应用程序创建一个真实的类,为测试创建一个假的类。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30606224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档