【发布时间】:2013-03-21 18:50:28
【问题描述】:
我尝试反编译一个 C# 控制台应用程序并在 Visual C# 2010 中再次编译它,但代码中有很多错误。这是一个例子:
public static Test mTest
{
[CompilerGenerated]
get
{
return <mTest>k__BackingField;
}
[CompilerGenerated]
set
{
<mTest>k__BackingField = value;
}
}
我已在 .net Reflector 中将 .net 框架版本设置为 3.5。有什么方法可以获取能够从 .net Reflector 重新编译的代码?
【问题讨论】:
-
<mTest>k__BackingField是编译器生成的内部字段名称,它们不能用作源代码中的字段名称 -
您使用的是什么版本的 Resharper?当前版本理解这一点,并将其变成自动道具
-
好的,我试过了......你说得对,这似乎是 Reflector 中的一个错误。实例属性很好 - 但静态属性仍在添加支持字段。您能够(实际上)修复它的唯一方法是检查代码并用 { get; 替换 getter 和 setter。放; } - 或将支持字段重命名为有效的 c# 字段名称。