mirror of https://github.com/dahall/Vanara.git
Fixed condition on IEnumFromCom where TryGet looped forever.
parent
376b4576ea
commit
33765e40ee
|
@ -123,7 +123,7 @@ namespace Vanara.Collections
|
||||||
{
|
{
|
||||||
var res = new TItem[1];
|
var res = new TItem[1];
|
||||||
item = default;
|
item = default;
|
||||||
if (cnext(1, res, out var ret).Failed)
|
if (cnext(1, res, out var ret) != HRESULT.S_OK)
|
||||||
return false;
|
return false;
|
||||||
item = res[0];
|
item = res[0];
|
||||||
return true;
|
return true;
|
||||||
|
@ -239,7 +239,8 @@ namespace Vanara.Collections
|
||||||
|
|
||||||
public Enumerator(IEnumFromNext<TItem> ienum)
|
public Enumerator(IEnumFromNext<TItem> ienum)
|
||||||
{
|
{
|
||||||
this.ienum = ienum; ((IEnumerator)this).Reset();
|
this.ienum = ienum;
|
||||||
|
((IEnumerator)this).Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TItem Current { get; private set; }
|
public TItem Current { get; private set; }
|
||||||
|
@ -251,15 +252,15 @@ namespace Vanara.Collections
|
||||||
|
|
||||||
bool IEnumerator.MoveNext()
|
bool IEnumerator.MoveNext()
|
||||||
{
|
{
|
||||||
if (ienum == null || !ienum.next(out var p)) return false;
|
if (ienum == null || !ienum.next(out var p))
|
||||||
|
return false;
|
||||||
Current = p;
|
Current = p;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IEnumerator.Reset()
|
void IEnumerator.Reset()
|
||||||
{
|
{
|
||||||
if (ienum == null) return;
|
ienum?.reset();
|
||||||
ienum.reset();
|
|
||||||
Current = default;
|
Current = default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue