像IEnumerable或IQuerable这样的界面如何将数据存储到自身中?
或者例如表继续`IQueryable?
我怎样才能拥有这样的界面?
public Interface IMyNumerator<T>
{
}
IMyNumerator<int> mynumbers;
如何使用某些Int值填充 mynumbers
答案 0 :(得分:3)
接口本身不包含数据。尽管在使用集合时您可能会将IEnumerable视为一种类型,但底层对象始终是实现此接口的特定类型。
实际包含数据的对象可以是实现该接口的任何类型。 请参阅:
如果您想实现自己的IEnumerable版本,请从界面继承。尝试在codeproject上搜索“实现IEnumerable的初学者教程”; - )
答案 1 :(得分:1)
接口定义,井接口。
您可以将其视为定义合同,解释如何使用特定概念。接口后面是一个实际的实现,例如数据库连接。
在计算机科学中,界面是与软件交互的重点
为了使它更简单,请在硬件世界中考虑这一点。
USB定义了一个接口,它具有特定的形状,因此可以进入特定的插头,并且具有如何与USB设备通信的“协议”。
这个“界面”的背后,你可以拥有,几乎任何设备。 FX。相机或存储设备。
答案 2 :(得分:1)
接口永远不会存储数据。一个实现呢。每当您的代码看到IEnumerable
类型的对象时,其实际动态类型就是其他内容,例如ListIterator
左右。如果你想拥有自己的类型工具IEnumerable
,你可以这样做。通常,您将拥有一个嵌入式(私有)类来实现集合的枚举器。
答案 3 :(得分:0)
这是一个非常混乱的问题,但无论如何我都会尝试。
IEnumerable
是一个仅描述公共方法/属性的接口,它没有描述数据的存储方式。
此接口的实现者负责存储数据,并且可以在任何适合需要的结构中执行此操作。
您可以通过实现它或定义您使用的另一个接口来自己拥有这样的界面。