我试图反编译一个c#dll和一个特定的方法我得到了这个结果
relevantTopicIds
它在DatabaseHandler中调用内部类Class106,但它似乎无法反编译这个内部类。
我尝试了dotPeek,ILSpy,JustDecompile和Reflector。
我得到的最好的结果是使用Reflector,它部分地反编译了类。定义如下:
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;
}
我在许多论坛中读到,枚举器被反编译为内部类,没有反编译器可以生成可用的代码。似乎是这种情况,因为Class106实现了IEnumerable和IEnumerator接口。
有没有人知道如何手动修补这个?