我有以下代码。 (在c#中) 界面1:
public interface iBclass
{
int addition(int a);
int s(); //and more methods from this ......
}
界面2:
public interface iAclass
{
int addition(int a);
//more methods.....
}
继承两个接口的类:
public class dClass : iAclass , iBclass
{
int iAclass.addition(int a)
{
return 0;
}
int iBclass.addition(int a)
{
return 1;
}
public int s()
{
return 3;
}
}
问题是我无法使用d对象访问方法iAclass.addition(int a)
和iBclass.addition(int a)
。
dClass d = new dClass();
如何通过'd'对象访问这些方法?以及为什么那些接口方法不允许定义为公共?
答案 0 :(得分:3)
接口是明确实现的。因此,您只能使用界面调用它们:
dClass d = new dClass();
iAclass a = (iAclass)d;
a.addition(123); // Calls implementation for iAclass
iBclass b = (iBclass)d;
b.addition(123); // Calls implementation for iBclass
有关详细信息,请参阅此link。