Autofac初学(1)

一、创建控制台项目

引入nuget包

二、创建接口

using System;
using System.Collections.Generic;
using System.Text;

namespace _02_autofac
{
    internal interface Person
    {
        void Eat();
        void Say();
    }
}

三、创建实现类

using System;
using System.Collections.Generic;
using System.Text;

namespace _02_autofac
{
    public class Student:Person
    {
        public void Eat()
        {
            Console.WriteLine("吃早饭");
        }
        public void Say()
        {
            Console.WriteLine("说早安");
        }
    }
}

四、创建实例

using Autofac;
using System;
using System.ComponentModel;

namespace _02_autofac
{
    internal class Program
    {
        private static Autofac.IContainer Container { get; set; }
        static void Main(string[] args)
        {
            //创建容器
            var builder = new ContainerBuilder();
            //创建builder,并在builder中注册类型。
            builder.RegisterType<Student>().As<Person>();
            //实例化容器(可以讲第一步合并进来)
            Container = builder.Build();
            //在需要使用接口的地方,通过container来解析得到一个借口的实例。
            Person person = Container.Resolve<Person>();
            person.Eat();
            person.Say();
        }
    }
}

五、测试结果

在这里插入图片描述

posted @   有诗亦有远方  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示