在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
的實現,從而實現了依賴注入。