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

Assigning non-static data member variable with another variable

为什么无法将 class 非静态数据成员变量分配给另一个变量? 例如:

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

答案是哎呀:-)

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

做你需要的 - 试试这个:

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

感谢讨论:A field initializer cannot reference the nonstatic field, method, or property

请参阅 C# 语言规范部分 10.5.5.2 实例字段初始化状态 - 实例字段的变量初始值设定项不能引用正在创建的实例。因此,在变量初始值设定项中引用 "this" 是编译时错误。(因此变量初始值设定项通过简单名称引用任何实例成员是编译时错误)。