【新手求助】在类中单独使用属性的时候
c#吧
全部回复
仅看楼主
level 1
比如有这样一个类
Class A{
public int Number{ get; set; }
}
对于Number属性是否在对象里有一个隐藏的字段与之对应?
如果有的话,那我们是否能访问那个字段?
如果没有的话,那Number属性是如何实现的?
求达人解惑,感激不尽~
2013年01月06日 03点01分 1
level 11
有,但是是编译器帮你搞的,你的代码是无法访问的。
换句话说,用自动属性,编译器会帮你生成一个私有的字段。你用反编译一看就知道了。
[CompilerGenerated]
private int<>k__AutomaticallyGeneratedPropertyField0;
public intName
{
[CompilerGenerated]
get
{
return this.<>k__AutomaticallyGeneratedPropertyField0;
}
[CompilerGenerated]
set
{
this.<>k__AutomaticallyGeneratedPropertyField0 = value;
}
} 
2013年01月06日 03点01分 2
哦哦,明白了~非常感谢!
2013年01月06日 03点01分
回复 あなたの笑颜 : 如果你的属性中有些赋值或者取值逻辑校验,那就别用这个了,反之亦然。
2013年01月06日 03点01分
1