》》新建一个CORE 控制台程序
注册服务
》》 安装 Microsoft.Extensions.DependencyInjection
using Microsoft.Extensions.DependencyInjection;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
Method();
Console.ReadKey();
}
static void Method()
{
//传统方法
//IAnimal dog = new Dog();
//dog.Eat();
#region IOC
//【1】创建IOC容器
ServiceCollection services = new ServiceCollection();
//【2】接口和实现的定义
//【3】注册服务
services.AddTransient<IAnimal, Dog>();
//【4】 从服务接口中创建一个包含若干服务的提供者对象Provider,再从这个提供者中获取具体的服务
ServiceProvider provider = services.BuildServiceProvider();
IAnimal dog = provider.GetService<IAnimal>();
//意思过程相当于 new Dog()
dog.Eat();
#endregion
}
}
public interface IAnimal {
void Eat();
}
public class Dog:IAnimal {
public void Eat()
{
Console.WriteLine($"狗 啃 骨头");
}
}
}
注册日志
》》Microsoft.Extensions.Logging.Console