从具有相同方法名称的多个接口继承

如果我们有一个从多个接口继承的类,并且这些接口具有名称相同的方法,那么如何在我的类中实现这些方法?我们如何指定实现哪个接口的方法?

回答:

通过显式实现接口,如下所示:

public interface ITest {

void Test();

}

public interface ITest2 {

void Test();

}

public class Dual : ITest, ITest2

{

void ITest.Test() {

Console.WriteLine("ITest.Test");

}

void ITest2.Test() {

Console.WriteLine("ITest2.Test");

}

}

使用显式接口实现时,这些函数在类上不是公共的。因此,为了访问这些功能,必须首先将对象转换为接口类型,或将其分配给声明为接口类型的变量。

var dual = new Dual();

// Call the ITest.Test() function by first assigning to an explicitly typed variable

ITest test = dual;

test.Test();

// Call the ITest2.Test() function by using a type cast.

((ITest2)dual).Test();

以上是 从具有相同方法名称的多个接口继承 的全部内容, 来源链接: utcz.com/qa/399460.html

回到顶部