diff --git a/ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs b/ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs index 54548a16c..a36fd7753 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs @@ -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;