【发布时间】:2012-12-04 14:58:00
【问题描述】:
我在将一些 C# 代码转换为 VB.NET 时遇到了一个小问题。我正在使用这个在线博客:http://refactorthis.wordpress.com/2011/05/31/mock-faking-dbcontext-in-entity-framework-4-1-with-a-generic-repository/
在内存IDBSet中创建fake部分,代码如下:
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 抱怨以下错误:私有函数 GetEnumerator ... 和私有函数 GetEnumerator ... 不能相互重载,因为它们仅在返回类型上有所不同。两者都是实现 IDBSet 所必需的。
关于如何正确转换此代码的任何想法?
【问题讨论】:
标签: entity-framework-4 mocking c#-to-vb.net