Autofac的简单封装

将Autofac集成到自己的框架项目中,对Autofac进行了简单的封装,方便调用。
<pre>
public class IocHelper
{
private static IContainer _Container;

    public static IContainer Container
    {
        get 
        {
            if (_Container == null)
            {
                _Container = _Build.Build();
            }
            return _Container; 
        }
    }


    private static ContainerBuilder _Build ;

    public static ContainerBuilder CurrentBuild
    {
        get 
        { 
            return _Build;
        }
    }

    static IocHelper()
    {
        _Build = new ContainerBuilder();
    }

    public static void Register<T>()
    {
        _Build.RegisterType<T>();
    }

    public static void Register<T,T1>()
    {
        _Build.RegisterType<T>().As<T1>();
    }

    public static void Register(object obj)
    {
        _Build.RegisterInstance(obj);
    }

    public static void RegisterAssembly(Assembly assembly)
    {
        _Build.RegisterAssemblyTypes(assembly);
    }

    public static void RegisterAssemblys(Assembly[] Assemblys)
    {
        _Build.RegisterAssemblyTypes(Assemblys);
    }

    public static T Resolve<T>(string name)
    {
        return Container.ResolveNamed<T>(name);
    }

    public static T Resolve<T>()
    {
        return Container.Resolve<T>();
    }
}

</pre>

调用方法如下
<pre>
IocHelper.Register<ClassA,IClassA>();

        IocHelper.RegisterAssembly(Assembly.GetExecutingAssembly());

        IClassA ca = IocHelper.Resolve<IClassA>();
        ClassB cb = IocHelper.Resolve<ClassB>();

</pre>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,111评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,639评论 4 61
  • 这幅图片首先使我想到的就是这株花吸收得了这么多水分吗?本来这自然界的雨水已经可以满足花的生长需要了,那么这人...
    21春雨无声阅读 1,508评论 0 1
  • 赵雷的一曲《南方姑娘》勾起了我对雪的思恋。在南方期待一场冬雪是一件多么奢侈的事情啊。 当雪花纷纷扬扬的时候我拼命的...
    浅草樱落阅读 3,017评论 11 3
  • 如果你真想完成一件事,你是不会轻易放弃的,内心感到痛苦就对了,那是成长的感觉。——前记 有一天有人问“你用了一两年...
    麦风玄阅读 1,846评论 0 1

友情链接更多精彩内容