StructureMap - 覆盖命名实例的构造函数参数

2024-02-22

您是否可以覆盖命名实例的构造函数参数,似乎只能对默认实例执行此操作。

我想要做:

ObjectFactory.With("name").EqualTo("Matt").GetNamedInstance<IActivity>("soccer"); 

在 .With 之后使用时,GetInstance 的行为类似于 GetNamedInstance

    


using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
using StructureMap;

namespace StructureMapWith
{
    [TestFixture]
    public class Class1
    {

        public interface IFooParent
        {
            IFoo Foo { get; set; }
        }
        public interface IFoo
        {

        }

        public class FooParentLeft : IFooParent
        {
            public IFoo Foo { get; set; }

            public FooParentLeft(IFoo foo)
            {
                Foo = foo;
            }
        }

        public class FooParentRight : IFooParent
        {
            public IFoo Foo { get; set; }

            public FooParentRight()
            {

            }
            public FooParentRight(IFoo foo)
            {
                Foo = foo;
            }
        }

        public class Left : IFoo { }
        public class Right : IFoo { }

        [Test]
        public void See_what_with_does_more()
        {
            ObjectFactory.Initialize(c =>
                                        {
                                            c.ForRequestedType()
                                                .AddInstances(i =>
                                                                  {
                                                                      i.OfConcreteType().WithName("Left");
                                                                      i.OfConcreteType().WithName("Right");
                                                                  });
                                            c.ForRequestedType()
                                                .AddInstances(i =>
                                                                  {
                                                                      i.OfConcreteType().WithName("Left");
                                                                      i.OfConcreteType().WithName(
                                                                          "Right");
                                                                  });
                                        });

            var returned = ObjectFactory.With(typeof (IFoo), new Right())
                .With(typeof (IFooParent), new FooParentRight())
                .GetInstance("Right");
            Assert.That(returned, Is.TypeOf(typeof(FooParentRight)));
            Assert.That(returned.Foo, Is.TypeOf(typeof (Right)));
        }

    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

StructureMap - 覆盖命名实例的构造函数参数 的相关文章

  • 将 Ninject 2.0 与 ASP .Net 3.5 结合使用

    我正在尝试将 Ninject 2 0 与 Asp Net 3 5 Web 应用程序一起使用 以下是 DLLS 及其我正在使用的版本 Ninject dll v2 0 0 0 Ninject Extensions Logging dll v2
  • 如何使用 StructureMap 配置文件设置命名实例?

    我在这里进行了大量的谷歌搜索和搜索 但找不到类似的问题或答案 在典型的 SM 配置中 您可以为单个 PluginType 添加多个命名实例 ForRequestedType
  • “针对接口而非对象进行编码”的 Python 版本是什么?

    受到一个很棒的问题 以及一堆很棒的答案 的启发here https stackoverflow com questions 4456424 what do programmers mean when they say code agains
  • StructureMap - 覆盖命名实例的构造函数参数

    您是否可以覆盖命名实例的构造函数参数 似乎只能对默认实例执行此操作 我想要做 ObjectFactory With name EqualTo Matt GetNamedInstance
  • 如何重置IOC容器中的所有实例

    我使用以下命令创建了一个 C WPF 应用程序MVVM轻框架 http www galasoft ch mvvm 我的应用程序使用ViewModelLocator类在运行时定位视图模型 这ViewModelLocator利用SimpleIo
  • 使用多个参数注册 DbContext

    我正在尝试将 TenantProvider 注入 DbContext public class AppDbContext IdentityDbContext
  • 与 StructureMap 4.6 瞬态生命周期的混淆

    我使用 StructureMap 4 6 作为我的 IoC 容器 我对其生命周期有点困惑 正如我在其文档中所读到的那样 Transient 将为每个容器创建一个对象实例 支持的生命周期 http structuremap github io
  • 依赖注入上下文中的组合根是什么?

    我正在探索依赖注入和术语成分根到处都在使用 那么它是什么 组合根是应用程序中使用依赖项注入容器组合应用程序的对象图的单个位置 尽管如何完成此操作无关紧要 它可以使用容器 也可以使用手动完成 pure DI http blog ploeh d
  • DI 和存储库模式

    目前 我的代码与此类似 为了说明一点而缩短 DAL 存储库接口 public interface IRepository
  • 使用 StructureMap 创建插件扫描器

    我正在尝试为支付网关实现编写一个 StructureMap 插件扫描仪 我在外部库中创建了 IPaymentGateway 接口 我创建了 IPaymentGateway 的多个实现 并将这些 dll 放在我的 C Extensions 文
  • 我应该如何订购 DI/IOC 的 ctor 参数?

    我是一个 DI 新手 所以如果这是错误的方法或一个愚蠢的问题 请原谅我 假设我有一个创建 更新订单的表单 并且我知道它将需要检索要显示的产品和客户列表 我想传递它正在编辑的 Order 对象 但我还想注入 ProductsService 和
  • 结构图 - 同一接口的两个实现

    我有一个具有以下 ctor 的服务类 public class IMessageService emailService IMessageService smsService 和两个实现IMessageService 电子邮件和短信 如何配
  • 删除了 C# 和 IoC 传递依赖项

    我有一个使用 IoC windsor 的解决方案 解决方案中的项目如下 接口 保存我将使用的所有接口合约 IoC Installers 保存我的依赖项的所有安装程序 参考实现和接口 IoC 包含一个包含 IoC 容器的单例类 该类执行容器的
  • 何时使用 IOC 容器?

    我试图了解何时应该使用容器而不是手动注入依赖项 如果我有一个使用 1 2 个接口的应用程序 并且每个接口只有 1 2 个具体实现 我会倾向于自己处理 如果我有一个使用 2 3 个接口的小型应用程序 并且每个接口有 2 3 个具体实现 我应该
  • 如何使用 IoC 容器组织 MVP?

    我正在尝试使用 winforms 应用程序来理解 IoC 概念 假设我有一个演示者 其构造函数将其视图和服务作为构造函数参数 所以在表单代码中我有这样的东西 mnPresenter new Presenter this new AppSer
  • 在 Web 应用程序中何处以及如何使用拦截器?

    我最近对拦截器概念很感兴趣 我知道这个概念在 NHibernate Entity Framework 等许多库中都有使用 但我对如何在 ASP NET MVC Web 应用程序中使用这个概念感兴趣 在 Mvc Web 应用程序中什么地方有用
  • 依赖注入陷阱

    有人在 www 上有一个链接列表来获取 DI 陷阱的好列表吗 我一直在尝试在 asp net webforms 应用程序中使用 DI 注入控件 发现在递归构建时 ViewState 会丢失 开发人员在应用程序中实施 IoC DI 之前需要注
  • Smalltalk 和 IoC

    我看到很多 Net 和 Java 的 IoC 框架 有谁知道为什么 Smalltalk 没有等效的框架 这更像是一个哲学问题 我想知道 Smalltalk 的做事方式中是否有某些东西排除了 IoC 框架的必要性 MVC http en wi
  • 通过 IoC 容器实例化 WCF 服务

    是否可以使 WCF 运行时通过 IoC 容器而不是通过其通常的进程来实例化服务 此外 考虑到容器的类型生活方式配置与服务的 InstanceContextBehavior 之间存在潜在冲突 这种方法会是一个糟糕的主意吗 我知道我可能完全问错
  • 在简单注入器中注册具有多个构造函数和字符串依赖项的类型

    我正在尝试弄清楚如何使用 Simple Injector 我在项目中使用了它 注册简单服务及其组件没有任何问题 但是 当组件具有两个以上实现接口的构造函数时 我想使用依赖注入器 public DAL IDAL private Logger

随机推荐

  • 对于类变量,向上转换和向下转换有什么区别

    对于类变量而言 向上转换和向下转换有什么区别 例如下面的程序中 Animal类只包含一个方法 而Dog类包含两个方法 那么我们如何将Dog变量转换为Animal变量 如果转换完成 那么我们如何使用 Animals 变量调用 Dog 的另一个
  • Pusher 连接数是如何计算的?

    我想了解的定价方案Pusher http pusher com pricing 根据他们的定价 Bootstrap 允许100 max Connections 我的问题是这样的 如果我的页面每天有 10 000 名访问者 每个人订阅不同的频
  • 为什么 MSChart 不填充整个图表区域?

    我正在创建几个图表 但我无法弄清楚为什么图表的左侧和右侧有这么多空白区域 我有一个 Winforms 图表 ChartArea 和系列 图表的左侧和右侧总是有一英寸的空间 看起来像是浪费的空间 我需要更改什么设置才能减少该空白空间的大小 我
  • Numpy 弃用关于布尔索引的警告

    这段代码 import numpy as np def some method y threshold print type y y shape y dtype c np zeros y shape c y gt threshold 1 结
  • Alembic 修订 ID 代表什么?

    我刚刚开始研究 Alembic 来自 Django 我们在那里South http south aeracode org 迁移我们的数据库模式 即soon https docs djangoproject com en 1 7 topics
  • 将字符串转换为 Double C#

    我在数据库中有一个浮动字段 我的应用程序是WindowsForm 我需要将格式 43 27 的文本框中的值转换为双精度 当我执行此操作 COnvert ToDouble txtbox Text 时 出现异常 提示输入字符串格式错误 如何纠正
  • .net core API项目中可以使用角度存储用户信息的位置

    我有一个 Angular 项目 我正在使用 net core 2 o Web API 我将用户信息存储在 Jwt 中 我想记录每个数据库操作 我可以通过发送 jwt 并从服务器端的 request header 中获取来访问用户信息 但问题
  • 根据 swagger 文件验证 json 负载 - json-schema-validator

    我正在尝试根据包含服务协议的 swagger 文件验证 json 有效负载 我正在使用 json schema validator 2 1 7 库来实现此目的 但目前它没有针对指定的模式或最小 最大长度进行验证 Java代码 public
  • 如何在 vim 中注释同时尊重缩进?

    我试图在 vim 中进行映射以插入注释 例如 带空格的框 同时尊重缩进 所以 不要这样评论 class MyFrame wx Frame def init self title pos size wx Frame init self Non
  • 在 ag-grid 中构建我们自己的具有分组功能的 cellRenderer

    以前我有columnDefs用于在没有 Angular 组件的情况下使用内置渲染 ag grid 单元grouping功能 colDef headerName HeaderName field a editable false cellRe
  • 如何自定义Tab指示器宽度?

    我想要这种类型的选项卡指示器如何实现这一点 我已经尝试了带有可绘制可选择处理程序的所有解决方案 但没有得到任何东西 有一个更简单的方法来实现这一点 只需提供一个drawable您的自定义指标的app tabIndicator 例如 在这种情
  • 在 grantType=authorization_code 请求后,Google 代理授权流程不会继续

    我正在开发一个API AI代理 并尝试实现帐户链接功能 文档位于oauth2 代码流 https developers google com actions identity oauth2 code flow真的很有帮助 我能够创建我的 o
  • 获取远程地址/IP - C Berkeley Sockets

    如果我连接了套接字文件描述符 通过连接或绑定 请键入SOCK STREAM 是否可以获取远程地址 IP地址 我需要在一个函数中执行此操作 其中除了套接字文件描述符之外没有任何其他数据 getpeername http pubs opengr
  • 定义模板后声明函数

    假设我有一个模板函数 template
  • SwiftUI 4:可以在视图层次结构的不同级别进行多个 .navigationDestination() 调用吗?

    我想知道是否可以打电话navigationDestination 多次在不同层次上在视图层次结构中 我用谷歌搜索 但我在网上找到的所有示例都将其称为顶级视图NavigationStack 我尝试了以下代码 它工作得很好 但我不确定这是偶然的
  • Java Sleep 不在循环中工作[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想在我的java程序中做的是 当我按下按钮时 它会显示文本textfield在时间间隔中 即我按下按钮然后jFrame弹出窗口 有一个标签
  • 在 Android Studio 中快速导入绘图的方法?

    在 Android 项目中的某个时刻 您需要导入一些可绘制对象 无论是工具栏图标 图像 UI 功能 res drawable目录 大多数时候 您会针对最常见的限定符缩放图像 drawable hdpi drawable mdpi drawa
  • SQL Server 序列设置当前值

    我正在使用 SQL Server 2012 v11 0 2100 我想创建一个以随机 动态 数字开头的序列 但我无法做到这一点 我也努力为此找到一个好的解决方案 但是我还没有找到令我满意的东西 我尝试过但失败的案例 DECLARE sth
  • WiX 在卸载时不会删除注册表项

    我创建了一个带有条件 DISABLEMSIUPGRADE 的组件 当我使用我们的ExternalUI 安装 MSI 时会设置该组件 但是 MSI 不会删除卸载中的条目 我认为问题是由条件引起的 但我无法修复它
  • StructureMap - 覆盖命名实例的构造函数参数

    您是否可以覆盖命名实例的构造函数参数 似乎只能对默认实例执行此操作 我想要做 ObjectFactory With name EqualTo Matt GetNamedInstance