2014-02-24 64 views
0

我有以下代码。 (在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; 
    } 
} 

问题是我不能够访问该方法iAclass.addition(int a)与d对象和iBclass.addition(int a)

dClass d = new dClass(); 

如何通过'd'对象访问这些方法?以及为什么这些接口方法不允许定义为公共?

+0

看起来像你并不真的需要IAclass – markg

+0

@markg:我的IAclass具有不在IBclass中的额外函数吗? –

+0

默认情况下它是私人权利? – ssilas777

回答

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

+0

谢谢!工作中..... –