Ошибка перечисления при выполнении проверки - PullRequest
1 голос
/ 14 декабря 2010

У меня есть такое перечисление

 public enum ConnectionState : int
   {
      Unknown = 1,
      Connected = 2,
      Disconnected = 3,
   }

Мне нужно отобразить значение, если оно подключено, я сделал эту проверку

if(ConnectionState.Connected)
{
SubItems.Add(Data.value)
}

Но я получаю сообщение об ошибке " Не удается неявно преобразовать тип 'ConnectionState' в 'bool'" . Пожалуйста, предложите мне, как поступить с этим

Ответы [ 3 ]

6 голосов
/ 14 декабря 2010

Разве это не должно быть что-то вроде

if(YourObject.ConnectionState == ConnectionState.Connected) 
{ 
    SubItems.Add(Data.value) 
} 
1 голос
/ 14 декабря 2010

ConnectionState в этом примере - определение типа, вам нужно создать экземпляр объекта ConnectionState:

ConnectionState myState = new ConnectionState();

Тогда вы можете установить свое состояние:

myState = ConnectionState.Connected;

И проверьте это с помощью:

if(myState == ConnectionState.Connected)
0 голосов
/ 14 декабря 2010

Перечисления или перечисляемые типы данных, как следует из названия, являются определяемыми пользователем типами данных. Поэтому они не могут использоваться непосредственно в выражениях условия. Их можно сравнивать внутри себя. Поэтому вам нужно определить свой объект и затем сравнить его значение с некоторымидругое значение в перечислении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...