接口名字的显式限定---避免名字模糊性

interface ISerialize

{

void SaveData();

interface IDataStore

{

void SaveData();

}

class Test:ISerialize,IDataStore

{

 public void SaveData()

{

 .......

}

}

虽然可以通过编译,但是运行的时候都会有错误产生,因为调用的行为的结果对于使用这个类的程序员老说都是不清楚的.

main()

{

 Test test=new Test();

 if(test is ISerialize)

 {

 Console.WriteLine("ddddd");

 }

if(test is IDataStore)

 {

 Console.WriteLine("sssss");

 }

}

这段代码,is操作符对于两个接口都是成功的.这表示这两个接口都是被实现的.但事实并非如此.编译器肯定会有警告

然而,如果客户端检查其中一个接口的实现----两个接口的实现都是成功的----而同时又碰巧视图使用那个没有真正实现的那个接口,就会发生意外.

 

使用接口名字限定

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值