代码改变世界

CompilerGenerated

2011-02-20 09:43  DanielWise  阅读(8643)  评论(1编辑  收藏  举报

源代码:

   public int Pages { get; set; }
   public bool IsPro { get; set; }

反编译后的代码:

[CompilerGenerated]
private bool <IsPro>k__BackingField;

[CompilerGenerated]
private int <Pages>k__BackingField;

public bool IsPro
{
[CompilerGenerated]
get
{
return this.<IsPro>k__BackingField;
}
[CompilerGenerated]
set
{
this.<IsPro>k__BackingField = value;
}
}
public int Pages
{
[CompilerGenerated]
get
{
return this.<Pages>k__BackingField;
}
[CompilerGenerated]
set
{
this.<Pages>k__BackingField = value;
}
}

CompilerGenerated 用来同一个用户生成的元素进行区分的编译器生成元素。向任何应用元素应用CompilerGeneratedAttribute属来指示这个元素是由编译器生成的。这个元素允许SQL server引用编译器生成的静态值。

在Visual Studio 中我们可以通过在一个字符串上按两次Tab键来自动生成属性,当然这些属性是不包含逻辑和范围的。

如果你需要加入逻辑或设定范围,则需要自己生成属性。