自动实现的属性 - 隐藏成员的签名

Oyy*_*you 2 c#

创建自动实现的属性时,C#会在后台的某个位置为该属性生成成员.我对于我的生活不记得这是什么叫,或者成员的命名约定是什么.谷歌搜索了一段时间后,我认为这可能只是一个想法.

属性:

public int Age { get; set; }
Run Code Online (Sandbox Code Playgroud)

我对隐藏成员的猜测(来自内存):

private int i_age;
Run Code Online (Sandbox Code Playgroud)

编辑#1

为了澄清,我正在寻找自动生成成员的术语,下面是Dmitry Bychenko的回答.术语是"支持领域"

Dmi*_*nko 6

为什么不进行简单的实验呢?

using System.Reflection;

...

public class Experiment {
  public int Age { get; set; }
}

...

var fieldNames = string.Join(", ", typeof(Experiment)
    .GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
    .Select(field => field.Name));

Console.Write(fieldNames);
Run Code Online (Sandbox Code Playgroud)

结果:

<Age>k__BackingField
Run Code Online (Sandbox Code Playgroud)

请注意,与i_age实际字段名称不同<Age>k__BackingField ,不会与任何字段冲突(我们不能声明具有此类名称的字段)