在许多项目中,我的工作,每当我必须返回一个只读集合,我用的是IEnumerable<T>
接口,并使其键入特定像这样:我应该支持IEnumerable <T>或Arrays?
Public ReadOnly Property GetValues() As IEnumerable(Of Integer)
Get
'code to return the values'
End Get
End Property
大部分的时间,我返回一个列表,但在一些函数和只读属性我返回一个数组,它也可以通过扩展方法提供的好处。
我的问题是我会通过返回IEnumerable<T>
s,而不是特定类型的违反任何设计原则(例如:List<T>
,HashSet<T>
,Stack<T>
或Array
S)?
http://stackoverflow.com/questions/3433284/ienumerablet-vs-t – Alex 2011-03-01 15:36:48