我在C#中指定一个公共属性,如下所示:
public bool SuezCanalTransversal {get; set;}
但是,似乎没有创建私有成员变量.例如,如果我覆盖get,return _suezCanalTransversal;我看到:
"_suezCanalTransversal does not exist in the current context".
简单地添加相关的私有成员变量是没有问题的,但我的印象是现在已经自动完成了.
几个问题:
何时为公共属性自动生成私有成员变量,何时不是?
当使用诸如public bool SuezCanalTransversal{ get; set;}使用的公共属性时,假设私有变量是否正确:private bool _suezCanalTransversal将被创建?
编译器生成支持变量,您不能依赖用于命名该支持变量的任何命名约定或模式.
支持变量仅在编译时声明,因此您无法在源代码中访问它.
如果您想要访问支持变量,那么只有一个解决方案:不要使用自动属性,而是声明属性'old skool',如下所示:
private int _suezCanalTransversal;
public int SuezCanalTransversal
{
   { get return _suezCanalTransversal; }
   { set _suezCanalTransversal = value; }
}
| 归档时间: | 
 | 
| 查看次数: | 46 次 | 
| 最近记录: |