当前位置:  开发笔记 > 编程语言 > 正文

什么是EIMI的好用例?

如何解决《什么是EIMI的好用例?》经验,为你挑选了1个好方法。

EIMI是一个显式的接口成员实现.所以代替:

public int SomeValue{get;}

你有

int SomeInterface.SomeValue {get;}

我正在考虑使用一个,因为我正在使用内部接口(解耦,但限制),我不想让实现对象上的方法出现在它的公共API中.

这是一个很好的用例吗?



1> Pop Catalin..:

一个很好的例子是.Net泛型集合类.

例如,显式地List实现'IList'和IList(非泛型接口).这意味着当您直接使用该类时,您将只看到专门的方法,而不是使用Object的方法.

假设您实例化了一个List.如果IList是隐式实现的,那么你可以在类Add(Person item)和Add(Object item)上直接访问两个add方法,这将破坏泛型提供的类型安全性.调用list.Add("Foo")将编译得很好,因为将自动选择Add(Object)重载,并且泛型提供的类型安全性已经消失.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有