Neb*_*Neb 1 .net vb.net extension-methods
为什么这个扩展:
<Extension()> _
Public Function GetLastItem(ByVal l As List(Of Object)) As Object
Return l(l.Count - 1)
End Function
Run Code Online (Sandbox Code Playgroud)
作为类型的例子List(of Object)而不是类型的例子List(Of List(Of Object))?
对象是.net中最通用的类型,所以List(of Object)是一个Object,扩展应该工作吗?
不,a List(Of List(Of Object))不是List(Of Object).例如,您可以Object()向后者添加新内容,但不能向前者添加新内容.
另外,正如我喜欢的那样:一堆香蕉和水果碗不一样.
尽管如此,为什么你还要写这个并不完全清楚 - 为什么不直接使用Last()扩展方法IEnumerable(Of T)呢?(那已经有了优化IList(Of T),如果这是你担心的.)
你可以让你的方法通用 - 理想的目标IList(Of T)而不仅仅是List(Of T)- 但我建议你只使用Last()...