大家好,我正在尝试学习一些界面。我得到了关于它的基本知识,那是一个班级的合同。我现在对接口作为数据类型有点困惑。
问题:使用接口作为数据类型的目的是什么。
前任。
IEnumerable Folders {get;}
Run Code Online (Sandbox Code Playgroud)
或者
IComparable Compare {get;}
Run Code Online (Sandbox Code Playgroud)
如果我是正确的,IEnumerable 也是一个接口。值类型保存在何处(如果有)?
谢谢
这意味着数据类型可以引用实现接口的类的任何对象。
IEnumerable thing = new List(); 作品
IEnumerable thing = new Collection(); 也有效
IEnumerable thing = new HashSet(); 也有效
在任何情况下,您都不需要知道实际分配给您的对象的确切类型,您只需要实现合同的任何类型
例如,所有的IEnumerator实现GetEnumerator(),让你可以使用foreach
foreach (var elem in thing) 任何类型的东西都可以工作,它只需要实现 IEnumerator。
| 归档时间: |
|
| 查看次数: |
947 次 |
| 最近记录: |