在以下代码中,方法a.x()
引用了接口I1
或I2
?
class Program
{
static void Main(string[] args)
{
A a = new A();
a.x();
Console.ReadLine();
}
}
class A:I1,I2
{
public void x()
{
Console.WriteLine("hello");
}
}
interface I1
{
void x();
}
interface I2
{
void x();
}
答案 0 :(得分:2)
a.x()
指的是接口I1
和I2
。
答案 1 :(得分:0)
由于它们具有相同的签名,a.x()
满足两个接口。
如果您需要不同的实现,可以通过在接口名称前添加前缀来指定实现所适用的接口:
class A : I1, I2
{
public void I1.x()
{
Console.WriteLine("hello I1");
}
public void I2.x()
{
Console.WriteLine("hello I2");
}
}
答案 2 :(得分:0)
这不是真正的多重继承,因为你没有继承行为。如果从多个类继承,则会有所不同(这在C#中是不可能的)。您只需在此处实现接口,并且两个接口都得到满足。