I'm trying to decompile a c# dll and on a particular method I'm getting this result
public IEnumerable<Guid> GetDbIdentifiers(int classId)
{
switch ((794999935 == 794999935) ? 1 : 0)
{
case 0:
case 2:
IL_1E:
break;
case 1:
goto IL_1F;
}
goto IL_1E;
IL_1F:
if (0 == 0)
{
}
if (1 == 0)
{
}
int arg_2E_0 = 0;
DatabaseHandler.Class106 @class = new DatabaseHandler.Class106(-2);
@class.databaseHandler_0 = this;
@class.int_3 = classId;
return @class;
}
It's calling a inner class Class106 inside DatabaseHandler, but it seems it cannot decompile this inner class.
I tried dotPeek, ILSpy, JustDecompile and Reflector.
The best result I got was with Reflector, it decompiled the class partially. The definition is this:
[CompilerGenerated]
private sealed class Class106 : IDisposable, IEnumerable<Guid>, IEnumerator<Guid>, IEnumerable, IEnumerator
I read in many forums that Enumerators are decompiled as inner classes and no decompiler can produce usable code. It seems the case, since the Class106 implements IEnumerable and IEnumerator interfaces.
Does anyone have any clue on how I could patch this manually?