为非静态数据成员变量分配另一个变量

时间:2018-10-22 03:56:34

标签: c# class variables field datamember

为什么不能为一个类的非静态数据成员变量分配另一个变量? 例如:

class A { 
   bool firstFlag=false; 
   bool secondFlag=firstFlag; // Showing Error.
   void SomeMethod(){} 
}

2 个答案:

答案 0 :(得分:0)

答案很糟糕:-)

firstFlag和secondFlag都是Class DataMembers。根据定义,您只能在成员方法或构造函数中访问它们。

要做您需要的-尝试以下操作:

internal class A
{
   bool firstFlag = false, secondFlag = false;
}

答案 1 :(得分:-2)

感谢对A field initializer cannot reference the nonstatic field, method, or property

的讨论

请参考C#语言规范的10.5.5.2实例字段初始化状态-实例字段的变量初始化程序无法引用正在创建的实例。因此,在变量初始值设定项中引用“ this”是编译时错误。(因此,对于变量初始值设定项通过简单名称引用任何实例成员,这是编译时错误。)