在C#中,我们可以使用接口和属性来实现依赖注入
IDataService
,它将定义数据服务的方法。public interface IDataService
{
string GetData();
}
IDataService
接口的类,例如DataService
。public class DataService : IDataService
{
public string GetData()
{
return "Hello, Dependency Injection!";
}
}
IDataService
接口的类,例如MainClass
。在这个类中,我们将使用属性注入来注入IDataService
的实现。public class MainClass
{
public IDataService DataService { get; set; }
public void Run()
{
var data = DataService.GetData();
Console.WriteLine(data);
}
}
Main
方法),我们将创建MainClass
的实例,并将DataService
实例分配给DataService
属性。class Program
{
static void Main(string[] args)
{
var mainClass = new MainClass();
mainClass.DataService = new DataService();
mainClass.Run();
}
}
现在,当我们运行程序时,MainClass
将使用DataService
类的实例来获取数据。这种方法允许我们在不修改MainClass
的情况下更改IDataService
的实现,从而实现了依赖注入。