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();
        }
    }
}

 

转载于:https://www.cnblogs.com/lbjcoder/p/8301424.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值