您的位置:首页 > 其它

隐式和显式接口的区别

2016-09-25 08:12 246 查看

隐式和显式接口的区别

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

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

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");
}


CLR读书笔记(2016/6/26 21:26:18)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息