c#显示接口和隐式接口
作者:网络转载 发布时间:[ 2013/12/6 11:48:28 ] 推荐标签:
类成员 IControl.Paint 只能通过 IControl 接口使用, ISurface.Paint 只能通过 ISurface 使用。两个方法实现都是分离的,都不可以直接在类中使用。
例如:
|
SampleClass obj = new SampleClass();
//obj.Paint();
// Compiler error. IControl c = (IControl)obj; c.Paint();
// Calls IControl.Paint on SampleClass. ISurface s = (ISurface)obj; s.Paint();
// Calls ISurface.Paint on SampleClass.
|
显式实现还用于解决两个接口分别声明具有相同名称的不同成员(如属性和方法)的情况:
|
interface ILeft
{
int P { get;}
}
interface IRight
{
int P();
}
|
为了同时实现两个接口,类必须对属性 P 和/或方法 P 使用显式实现以避免编译器错误。 例如:
|
class Middle : ILeft, IRight
{
public int P()
{
return 0;
}
int ILeft.P
{
get { return 0;
}
}
}
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com