Присвоение нестатической переменной-члена данных другой переменной - PullRequest
0 голосов
/ 22 октября 2018

Почему невозможно присвоить классу нестатическую переменную-член данных другой переменной?Например:

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

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Благодаря обсуждению: Инициализатор поля не может ссылаться на нестатическое поле, метод или свойство

Пожалуйста, обратитесь к разделу 10.5.5.2 Спецификации языка C # Состояния инициализации поля экземпляра - Aинициализатор переменной для поля экземпляра не может ссылаться на создаваемый экземпляр.Таким образом, это ошибка времени компиляции для ссылки «this» в инициализаторе переменной (следовательно, это ошибка времени компиляции для инициализатора переменной для ссылки на любой элемент экземпляра через простое имя).

0 голосов
/ 22 октября 2018

Ответ OOPS: -)

firstFlag и secondFlag оба являются членами класса данных.По определению вы можете получить к ним доступ только через методы-члены или конструкторы.

Чтобы сделать то, что вам нужно - попробуйте это:

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