2010-12-14 8 views
1

J'ai un ENUM comme celui-cierreur Enum tout en faisant vérifier

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

je dois afficher la valeur si elle est connectée je l'ai fait cette vérification

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

Mais je reçois une erreur "Impossible implicitement convertir le type 'ConnectionState' à 'bool' ". suggérer moi comment procéder avec ceci

+1

Vous devez montrer plus de code. Vous devez avoir une variable de type ConnectionState (ou int) à comparer. –

Répondre

1

ConnectionState dans cet exemple est une définition de type, vous devez instancier un objet ConnectionState:

ConnectionState myState = new ConnectionState(); 

vous pouvez définir votre état:

myState = ConnectionState.Connected; 

Et vérifier avec:

if(myState == ConnectionState.Connected) 
6

Ne devrait-il pas être quelque chose comme

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

Enums ou types de données énumérés, comme leur nom l'indique, sont des types de données définis par l'utilisateur. Ils ne peuvent donc pas être utilisés directement dans les instructions conditionnelles. Ils peuvent être comparés entre eux. Vous devez donc définir votre objet avec une autre valeur enum.

Questions connexes