【发布时间】:2018-07-25 10:26:48
【问题描述】:
当创建一个自动实现的属性时,C# 在后台某处为该属性生成一个成员。我这辈子都不记得这叫什么,或者成员的命名约定叫什么。在谷歌上搜索了一段时间后,我认为这可能是一个好主意。
属性:
public int Age { get; set; }
我对隐藏成员的猜测(凭记忆):
private int i_age;
编辑#1
为了澄清,我正在寻找自动生成成员的术语,下面的Dmitry Bychenko 回答了这个问题。术语是“支持字段”
【问题讨论】:
-
为什么需要这个名字? C# 版本之间的名称可能会有所不同。
-
查看stackoverflow.com/questions/8817070/… 以获取私有支持字段的名称。
-
这是一个实现细节,你永远不应该写任何依赖它的代码。这就是说...不,它会生成一个您无法在代码中创建的唯一名称,那么它肯定会包含不能用作 C# 标识符的 特殊字符。跨度>
-
你为什么在乎?无论如何,您都无权访问该字段(通过反射除外),这是一个实现细节,正如 Adriano 在他的评论中所写...
-
我想我的问题用错了,但我想要的是使用的术语。所以正如德米特里在下面回答的那样,它是“支持领域”。
标签: c#