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();
            }
        }
    }
  • 相关阅读:
    测序分析软件-phred的安装
    测序分析软件-trimmomatic的记录
    linux-ubuntu下fastQC的安装及使用
    linux 下统计文本行数
    linux .gz文件 解压缩命令
    启用谷歌浏览器Adobe Flash Player
    「三代组装」使用Pilon对基因组进行polish
    用BUSCO来评估基因组完整性
    linux tar.gz 文件解压缩
    查看jobs详情
  • 原文地址:https://www.cnblogs.com/lbjcoder/p/8301424.html
Copyright © 2011-2022 走看看