隐式和显式接口的区别
(隐式的实现不再探讨,只剖析显式的接口实现。)

定义的接口如下:两个接口的方法名及参数都相同

interface ICustomA
{
Int32 CompareTo(string obj);
}
interface ICustomB
{
Int32 CompareTo(string obj);
}

类的实现方式如下:一个默认的(类本身的方法),两个显式实现的。

public class Number : ICustomA, ICustomB
{
// 默认方法
public int CompareTo(string obj)
{
return 0;
}

// 显式实现ICustomA
int ICustomA.CompareTo(string obj)
{
return 0;
}

// 显式实现ICustomB
int ICustomB.CompareTo(string obj)
{
return 0;
}
}

三个方法,对应方式的调用方式如下:

static void Main(string[] args)
{
Number p = new Number();
p.CompareTo(“默认”);

ICustomA pA = p as ICustomA;
pA.CompareTo(“显A”);

ICustomB pB = p as ICustomB;
pA.CompareTo(“显B”);
}