zoukankan      html  css  js  c++  java
  • Autofac基础入门

    1) 创建接口项目和实现类项目; 编写接口,编写实现类。

    接口类库

    namespace MyIBLL
    {
        public interface IUserBll
        {
            bool Check(string username, string pwd);
            void AddNew(string username, string pwd);
        }
    }

    实现接口类库

    namespace MyBLLImpl
    {
        public class UserBll : IUserBll
        {
            public void AddNew(string username, string pwd)
            {
                Console.WriteLine("新增用户,username="+username);
            }
    
            public bool Check(string username, string pwd)
            {
                Console.WriteLine("检查用户,username=" + username);
                return true;
            }
        }
    }

    使用  安装 Install-Package Autofac

     class Program
        {
            static void Main(string[] args)
            {
                //IUserBll bll = new UserBll();
                //bll.AddNew("aaa", "123");
                ContainerBuilder builder = new ContainerBuilder();
                //把UserBll注册为IUserBll的一个实现类
                builder.RegisterType<UserBll>().As<IUserBll>();
                IContainer container = builder.Build();
                //创建IUserBll实现类的对象
                IUserBll bll = container.Resolve<IUserBll>();//new UserBll
                bll.AddNew("aaa", "132");
    
                Console.WriteLine("ok");
                Console.ReadKey();
            }
        }

    或者将整个程序集都加载也可以实现

    namespace ZSZ.Tests
    {
        class Program
        {
            static void Main(string[] args)
            {
                //IUserBll bll = new UserBll();
                //bll.AddNew("aaa", "123");
                ContainerBuilder builder = new ContainerBuilder();
                #region 单个加载实现类
    
                //把UserBll注册为IUserBll的一个实现类
                //builder.RegisterType<UserBll>().As<IUserBll>();
                //IContainer container = builder.Build();
                //创建IUserBll实现类的对象
                //IUserBll bll = container.Resolve<IUserBll>();//new UserBll
                //bll.AddNew("aaa", "132");
                #endregion
                //加载程序集 类库MyBLLImpl
                Assembly asm = Assembly.Load("MyBLLImpl");
                //注册到autofac中
                builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces();
                IContainer container = builder.Build();
    
                //创建IUserBll实现类的对象
                IUserBll bll = container.Resolve<IUserBll>();//new UserBll
                bll.AddNew("aa", "123");
    
    
                Console.WriteLine("ok");
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    weka中算法说明[转]
    浅入浅出JS中的eval及json
    JavaScript变量声明提前
    三种常用的js数组去重方法
    深入理解JavaScript的变量作用域
    调试工具--console用法收藏
    《js高级程序设计》--第三章数据类型
    Oracle数据备份和恢复
    Oracle归档日志管理
    Oracle字符集的设置
  • 原文地址:https://www.cnblogs.com/lbjcoder/p/8301424.html
Copyright © 2011-2022 走看看