我正在嘗試使用Reg Gate的Reflector從程序集中恢復源代碼。原始資源利用了幾個C#3.0功能,這使得它有點難以恢復。例如,這裏是匿名類型的恢復源。彈出的第一件事是在類標識符上輸入from。運行時類型命名規則顯然比設計時間規則更自由。很公平。一個簡單的搜索和替換將解決這個問題。我還需要注意哪些其他編譯器問題,以及如何處理它們?編譯生成Cruft
[DebuggerDisplay(@"\{ OverrideType = {OverrideType}, EntityType = {EntityType} }", Type="<Anonymous Type>"), CompilerGenerated]
internal sealed class <>f__AnonymousType1<<OverrideType>j__TPar, <EntityType>j__TPar>
{
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private readonly <EntityType>j__TPar <EntityType>i__Field;
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private readonly <OverrideType>j__TPar <OverrideType>i__Field;
[DebuggerHidden]
public <>f__AnonymousType1(<OverrideType>j__TPar OverrideType, <EntityType>j__TPar EntityType)
{
this.<OverrideType>i__Field = OverrideType;
this.<EntityType>i__Field = EntityType;
}
[DebuggerHidden]
public override bool Equals(object value)
{
var type = value as <>f__AnonymousType1<<OverrideType>j__TPar, <EntityType>j__TPar>;
return (((type != null) && EqualityComparer<> <<OverrideType>j__TPar>.Default.Equals(this.<OverrideType>i__Field, type.<OverrideType>i__Field)) && EqualityComparer<<EntityType>j__TPar>.Default.Equals(this.<EntityType>i__Field, type.<EntityType>i__Field));
}
[DebuggerHidden]
public override int GetHashCode()
{
int num = -338316509;
num = (-1521134295 * num) + EqualityComparer<<OverrideType>j__TPar>.Default.GetHashCode(this.<OverrideType>i__Field);
return ((-1521134295 * num) + EqualityComparer<<EntityType>j__TPar>.Default.GetHashCode(this.<EntityType>i__Field));
}
[DebuggerHidden]
public override string ToString()
{
StringBuilder builder = new StringBuilder();
builder.Append("{ OverrideType = ");
builder.Append(this.<OverrideType>i__Field);
builder.Append(", EntityType = ");
builder.Append(this.<EntityType>i__Field);
builder.Append(" }");
return builder.ToString();
}
public <EntityType>j__TPar EntityType
{
get
{
return this.<EntityType>i__Field;
}
}
public <OverrideType>j__TPar OverrideType
{
get
{
return this.<OverrideType>i__Field;
}
}
}
對象初始值設定項還會產生一個額外的編譯器生成的變量,其名稱爲* unspeakable * – 2009-11-13 21:06:53
@Winston:良好的捕獲,將編輯它。 – 2009-11-13 21:10:59