曾经在 C# MongoDB 驱动程序的 1.8.2 之前版本中工作的代码存在一些问题:
使用以前版本的驱动程序,我可以执行以下操作:
private MongoCursorEnumerator<T> InitializeCursor()
{
var cursor = _queue.Find(Query.GT("_id", _lastId));
return MongoCursorEnumerator<T>cursor.GetEnumerator();
}
现在,此代码生成异常:
无法将案例类型“d__0”键入“MongoDB.Driver.MongoCursorEnumerator`1”。
需要对 MongoCursorEnumerator 进行强制转换,因为它具有 IsDead 属性,稍后在代码中用于重新初始化游标。不知何故,向上转换为 MongoCursorEnumerator 不再有效。任何人都知道为什么会发生这种情况或可能的解决方法是什么?