首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Unity Application Block,如何将参数传递给Injection Factory?

Unity Application Block是一个用于.NET应用程序的轻量级依赖注入容器。它提供了一种将对象实例化和解析依赖关系的机制,以实现松耦合和可测试性。

在Unity中,可以使用Injection Factory来传递参数给被解析的对象。Injection Factory是一个委托,它接受一个IUnityContainer对象和一个Type对象作为参数,并返回一个对象实例。通过使用Injection Factory,可以在解析对象时动态地传递参数。

以下是一个示例代码,展示了如何将参数传递给Injection Factory:

代码语言:csharp
复制
using Microsoft.Practices.Unity;

// 定义一个接口
public interface IMyService
{
    void DoSomething(string parameter);
}

// 实现接口的类
public class MyService : IMyService
{
    private string _parameter;

    public MyService(string parameter)
    {
        _parameter = parameter;
    }

    public void DoSomething(string parameter)
    {
        Console.WriteLine("Parameter: " + _parameter);
    }
}

// 在Unity容器中注册接口和实现类
var container = new UnityContainer();
container.RegisterType<IMyService, MyService>();

// 注册Injection Factory
container.RegisterType<IMyService>(new InjectionFactory(c =>
{
    var parameter = "Hello, World!";
    return new MyService(parameter);
}));

// 解析对象并调用方法
var myService = container.Resolve<IMyService>();
myService.DoSomething();

在上述示例中,我们首先定义了一个接口IMyService和一个实现类MyService,该实现类接受一个参数。然后,我们在Unity容器中注册了接口和实现类,并使用Injection Factory注册了一个带有参数的实例化方法。最后,我们通过解析IMyService接口来获取实例,并调用DoSomething方法。

这样,参数"Hello, World!"将会被传递给MyService的构造函数,并在调用DoSomething方法时输出。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云容器服务:提供了容器化应用的部署、管理和扩展能力,可与Unity Application Block结合使用。
  • 腾讯云函数计算:无需管理服务器即可运行代码,可用于构建无服务器应用,与Unity Application Block相互配合。
  • 腾讯云数据库:提供了多种数据库服务,包括关系型数据库和NoSQL数据库,可用于存储应用程序的数据。
  • 腾讯云安全产品:提供了多种网络安全产品,包括DDoS防护、Web应用防火墙等,可保护应用程序的安全性。

请注意,以上仅为示例,实际应用中应根据具体需求选择适合的腾讯云产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《Enterprise Library深入解析与灵活应用》博文系列汇总

[第1篇]:通过Unity Extension实现和Policy Injection Application Block的集成 PIAB是基于Remoting的原理通过Method Interception...Unity是建立在ObjectBuilder之上的,而ObjectBuilder是整个Enterprise Library以及P&P其他开源框架(比如Smart Client Software Factory...[第3篇]: 倘若将Unity、PIAB、Exception Handling引入MVP模式 最近在做一个Smart Client Software Factory的项目。...[第7篇]: 再谈PIAB与Unity之间的集成 在EnteLib中,PIAB(Policy Injection Application Block)和Unity的定位是轻量级的AOP框架和IoC容器(...ObjectBuilder2提供了一种具有高可扩展性的、基于策略(Strategy Based)的对象创建框架,它不仅仅是Unity的基础组件,也是整个EnterLib和Software Factory

47080

Unity Application Block 3月12 发布的版本

3月12日,Unity 又发布了正式发布之前的版本,这个版本提供了安装程序.并且提供了一个依赖注入在实现方式:Setter injection 的配置API。...需要更深入的学习Unity Application Block,可看园子里的TerryLee、doriandeng和overred的相关文章: TerryLee的Unity Application Block...依赖注入容器Unity Application Block(1):快速入门 Enterprise Library 4.0中的依赖注入容器(Unity)预览 doriandeng的Unity 使用...Unity(一):Unity 应用程序块容器介绍 使用 Unity(二):配置 Unity 、读取配置信息和获取对象 使用 Unity Application Block(三):理解和使用依赖注入的键...Unity Feb 26 Weekly Drop overred的 ① NET Framework  依赖注入容器Unity Application Block(2):Unity的春天

70870

Enterprise Library深入解析与灵活应用(3):倘若将Unity、PIAB、Exception Handling引入MVP模式.. .. ..

最近在做一个Smart Client Software Factory的项目。熟悉SCSF或者CAB的都应该很清楚MVP这种设计模式。...对于MVP中的异常处理,我们是直接通过Enterprise Library的Exception Handling Application Block来实现的。...这样导致的问题是,相同的代码重复散布于整个应用的各个角落,所以我又这样的想法:通过Policy Injection以AOP的方式实现对异常的处理,当有了这个想法后,我又多想了一步,何不再将Unity也一并整合进来...我的思路是这样的,将Policy Injection Application Block引入,用于实现Exception Handling操作;将Unity引入通过Depedency Injection...实现对CalculatePresenter 和Calculator的解耦;同时通过Unity Extension实现Policy InjectionUnity的集成(参见本系列第一章).

624100

WCF技术剖析之七:如何实现WCF与EnterLib PIAB、Unity之间的集成

在这之前,我写过深入介绍MS EnterLib PIAB的文章(参阅《MS Enterprise Library Policy Injection Application Block 深入解析[总结篇]...》),也写过WCF与PIAB的集成(参阅:《WCF后续之旅(8):通过WCF Extension 实现与MS Enterprise Library Policy Injection Application...Block 的集成》)、WCF与Unity的集成(参阅《WCF后续之旅(7):通过WCF Extension实现和Enterprise Library Unity Container的集成》)以及Unity...与PIAB的集成(参阅《Enterprise Library深入解析与灵活应用(1):通过Unity Extension实现和Policy Injection Application Block的集成》...,谈谈对于新的EnterLib和Unity如何将PIAB和Unity集成到WCF之中。

59710

WCF后续之旅(7):通过WCF Extension实现和Enterprise Library Unity Container的集成

Enterprise Library推出的新的Application BlockUnity Application Block为我们提供了一个很好的、可扩展的框架,帮助我们合理、有效的创建对象,并解决创建对象中的依赖...一、Unity Application Block 由于本篇文章的重点仍然是对WCF的扩展,因此我不会花太多的篇幅对Enterprise Library Unity作详细的介绍。...这是比较官方的定义:"The Unity Application Block (Unity) is a lightweight, extensible dependency injection container...如果读者想进一步了解Unity Application Block和Enterprise Library,可以访问微软P&P 的网站。...Container的集成 WCF后续之旅(8):通过WCF Extension 实现与MS Enterprise Library Policy Injection Application Block

72570

Enterprise Library 4.0

Cryptography Application Block . 开发人员可以把这个应用程序块在应用程序中应用散列和对称加密。 Data Access Application Block ....Exception Handling Application Block . 开发人员和决策者可以使用这个应用程序块为企业应用程序各层异常处理制定一致的策略。...Logging Application Block . 开发人员可以使用这个应用程序块为他们的应用程序提供日志记录功能。 Policy Injection Application Block ....Security Application Block . 开发人员可以用这个应用程序块为他们的应用程序提供授权和安全的缓存功能。 Unity Application Block ....Validation Application Block . 开发人员可以使用个应用程序块为他们的应用层的业务对象创建验证规则,可以在应用程序的各个层里面使用。

45630

支持Visual Studio 2008和.NET 3.5的企业类库4.0

这个版本的最大亮点是把IOC框架集成Unity进来了。 1、也许你还不知道Unity是微软的模式与实践团队开发的轻量级,可扩展的依赖注入容器,支持依赖注入的构造函数注入,属性注入,还支持方法调用注入。...Unity的资料可参看Unity Application Block 发布,微软名为Unity的依赖注入Application Block发布了。...可以通过Unity生成所需要的企业类库对象,并把企业类库对象注入到你的业务对象。这样可以很好的解耦组件之间的依赖关系,在企业类库所提供QuickStart上都有相应的使用Unity的例子。...关于Policy Injection的更多资料参看Artech同学的 Enterprise Library栏目 9、Security'模块增加了许多性能计数器,例如Total Authorization...博客园内各兄弟对企业类库4.0的帖子: Unity 1.1 及 Enterprise Libaray 4.0 for VS2008 新特性及关于Enterprise Library的一些数字

89190

Unity Application Block 1.2 学习笔记

昨天花了一天时间,把IOC/DI的相关文章以及Unity相关的一些文章基本在园子里搜了个遍 先给出几篇不错的文章链接: Unity Application Block官方网址 http://www.codeplex.com.../unity 吕震宇整理的[Object Builder Application Block] http://www.cnblogs.com/zhenyulu/articles/641728.html...www.cnblogs.com/zhenyulu/articles/233966.html 坚强2002翻译的[Inversion of Control Containers and the Dependency Injection...原因就是接口,算法实体类,调用程序之间的耦合性太高 接下来,我们用Unity换一种写法: using System; using Microsoft.Practices.Unity; using Microsoft.Practices.Unity.Configuration...--结实验,下面这一行加不加程序都能运行,只要确保CalcManager中有一个参数为Icalculate的构架函数或(注入)设置方法就行[参看CalcManager中注释掉的部分],Unity在这一点上确实比较

496100

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券