如何获取MongoCursorEnumerator<;T>;是否使用最新版本的C#(1.8.2+;)驱动程序?

如何获取MongoCursorEnumerator<;T>;是否使用最新版本的C#(1.8.2+;)驱动程序?,c#,mongodb,ienumerable,mongodb-.net-driver,mongodb-query,C#,Mongodb,Ienumerable,Mongodb .net Driver,Mongodb Query,用于C#MongoDB驱动程序1.8.2之前版本的代码存在一些问题: 使用以前版本的驱动程序,我可以执行以下操作: private MongoCursorEnumerator<T> InitializeCursor() { var cursor = _queue.Find(Query.GT("_id", _lastId)); return MongoCursorEnumerator<T>cursor.GetEnumerator(); } private

用于C#MongoDB驱动程序1.8.2之前版本的代码存在一些问题:

使用以前版本的驱动程序,我可以执行以下操作:

private MongoCursorEnumerator<T> InitializeCursor()
{
    var cursor = _queue.Find(Query.GT("_id", _lastId));
    return MongoCursorEnumerator<T>cursor.GetEnumerator();
}
private MongoCursorEnumerator InitializeCursor()
{
var cursor=_queue.Find(Query.GT(“_id“,_lastId));
返回mongocursorenumerator.GetEnumerator();
}
现在,此代码生成异常:

无法将大小写类型“d__0”转换为类型“MongoDB.Driver.mongocursoremulator`1”


需要强制转换为MongoCursorEnumerator,因为它具有属性IsDead,该属性稍后在重新初始化游标的代码中使用。不知何故,向上转换MongoCursorEnumerator不再有效。有人知道为什么会发生这种情况,或者可能的解决方法是什么吗?

从V1.8开始,您必须使用MongoCursorEnumerator的构造函数

return new MongoCursorEnumerator<T>(cursor);
返回新的mongocursoremulator(游标);
不幸的是,文档中没有任何提示-您必须查看源代码:-/