C#.NET Framework 控制台程序中依赖注入IOC简单例子

160
补充展位 Pages_Weblog_Get#0
文章摘要
此内容由人工摘要内容,并由AI根据文章内容进行润色
暂无内容

在asp.net core 中已经自带了一个官方的依赖注入框架,但.NET Framework 控制台程序中是没有集成的,要使用它需要引用一个程序包 Microsoft.Extensions.DependencyInjection Nuget里面搜索安装即可

平常使用.net Core开发用习惯了程序突然换回 .NET Framework还是挺别扭的,所以去查了下在控制台程序中依赖注入IOC的例子,顺带记下来。

Nuget引用 Microsoft.Extensions.DependencyInjection

Microsoft.Extensions.DependencyInjection 下载安装

这个包+依赖文件1G+的大小还是挺唬人的,不过不用担心生成的程序大小,编译生成后的程序包并不会这么大 可以放心使用

创建接口和实现例子

public interface IService {
	string GetValue();
	void SetValue(string text);
}
public class Service : IService
{
    string TestStr;
    public string GetValue()
    {
     	return this.TestStr;
	}
	public void SetValue(string text)
	{
    	this.TestStr = text;
	}
}

控制台中解耦调用

//实例化IOC容器
var serviceProvider = new ServiceCollection();
//注入上述的接口和实现方法
serviceProvider.AddTransient<IService, Service>();
//解耦获取已注入容器的接口
IService service = serviceProvider.BuildServiceProvider().GetService<IService>();
service.SetValue("我是Ioc测试文本");
string str = service.GetValue();

比Core里多了GetService这一步 其他的用起来都差不多

补充展位
Pages_Weblog_Get#41370acf-7ece-4dd9-94ab-ad3200a4ab59
补充展位 Pages_Weblog_Get#1
补充展位 Pages_Weblog_Get#2
专题推荐
暂无内容
补充展位 Pages_Weblog_Get#3