C#的依赖注入,谁能明白些讲解一下,感觉快明白了,就差一些些了,大牛救命。。。
展开全部
实际就是接口,继承这个接口类实现多态。
internal interface IServiceClass
{
String ServiceInfo();
}
//继承接口,A
internal class ServiceClassA : IServiceClass
{
public String ServiceInfo()
{
return "我是ServceClassA";
}
}
//继承接口,b
internal class ServiceClassB : IServiceClass
{
public String ServiceInfo()
{
return "我是ServceClassB";
}
}
2、有个类使用这个类,但私有字段是接口,使用的时候传入具体的实例化对象
internal class ClientClass
{
//定义依赖接口
private IServiceClass _serviceImpl;
//用这个接口实现多态
public void Set_ServiceImpl(IServiceClass serviceImpl)
{
this._serviceImpl = serviceImpl;
}
public void ShowInfo()
{
Console.WriteLine(_serviceImpl.ServiceInfo());
}
}
3、具体运作
class Program
{
static void Main(string[] args)
{
IServiceClass serviceA = new ServiceClassA();
IServiceClass serviceB = new ServiceClassB();
ClientClass client = new ClientClass();
client.Set_ServiceImpl(serviceA);
client.ShowInfo();
client.Set_ServiceImpl(serviceB);
client.ShowInfo();
}
}
注入方法几种,实际就是里氏替换值具体,取了另外一个名字,但用的跟多
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询