Browse Source

Extend UsingTransform.CheckResourceType to support non-generic System.Collections.IDictionaryEnumerator.

pull/1405/head
Siegfried Pammer 6 years ago
parent
commit
dd2a2af31d
  1. 2
      ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs

2
ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs

@ -144,7 +144,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms @@ -144,7 +144,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms
{
// non-generic IEnumerator does not implement IDisposable.
// This is a workaround for non-generic foreach.
if (type.IsKnownType(KnownTypeCode.IEnumerator))
if (type.IsKnownType(KnownTypeCode.IEnumerator) || type.GetAllBaseTypes().Any(b => b.IsKnownType(KnownTypeCode.IEnumerator)))
return true;
if (NullableType.GetUnderlyingType(type).GetAllBaseTypes().Any(b => b.IsKnownType(KnownTypeCode.IDisposable)))
return true;

Loading…
Cancel
Save