我在将一些 C# 代码转换为 VB.NET 时遇到了一个小问题。我正在使用这个在线博客:http ://refactorthis.wordpress.com/2011/05/31/mock-faking-dbcontext-in-entity-framework-4-1-with-a-generic-repository/
在关于在内存中创建假 IDBSet 的部分中,它具有以下代码:
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return _data.GetEnumerator();
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
return _data.GetEnumerator();
}
使用代码翻译器会呈现以下内容:
Private Function GetEnumerator() As IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
Return _data.GetEnumerator()
End Function
Private Function GetEnumerator() As IEnumerator(Of T) Implements IEnumerable(Of T).GetEnumerator
Return _data.GetEnumerator()
End Function
在我看来这是一个正确的翻译,但 DB.Net 抱怨以下错误: Private Function GetEnumerator ... 和 Private Function GetEnumerator ... 不能相互重载,因为它们仅在返回类型上有所不同。两者都是实现 IDBSet 所必需的。
关于如何正确转换此代码的任何想法?