在搜索使用C#中的接口的原因时,我偶然发现了MSDN所说的内容:
通过使用接口,您可以包含来自的行为 一个班级中的多个来源。这种能力在C#中很重要 因为该语言不支持多重继承类。 此外,如果要进行模拟,则必须使用接口 结构的继承,因为它们实际上不能继承 另一个结构或类。
但是,如何,Interface模拟多重继承。 如果我们继承多个接口,我们仍然需要实现接口中引用的方法。
任何代码示例都将受到赞赏!!
答案 0 :(得分:5)
这可以使用委托。您使用其他类组成一个类,并将(" delegate")方法调用转发到它们的实例:
public interface IFoo
{
void Foo();
}
public interface IBar
{
void Bar();
}
public class FooService : IFoo
{
public void Foo()
{
Console.WriteLine("Foo");
}
}
public class BarService : IBar
{
public void Bar()
{
Console.WriteLine("Bar");
}
}
public class FooBar : IFoo, IBar
{
private readonly FooService fooService = new FooService();
private readonly BarService barService = new BarService();
public void Foo()
{
this.fooService.Foo();
}
public void Bar()
{
this.barService.Bar();
}
}