Partager via


Erreur du compilateur CS0118

Mise à jour : novembre 2007

Message d'erreur

'nom_construction1' est un 'construction1' mais est utilisé comme un 'construction2'
'construct1_name' is a 'construct1' but is used like a 'construct2'

Le compilateur a détecté une situation dans laquelle une construction a été utilisée de façon erronée ou une opération non autorisée a été tentée sur une construction. Quelques exemples courants :

  • Tentative d'instanciation d'un espace de noms (au lieu d'une classe)

  • Tentative d'appel d'un champ (au lieu d'une méthode)

  • Tentative d'utilisation d'un type en tant que variable

  • Tentative d'utilisation d'un alias extern en tant que type.

Pour corriger cette erreur, assurez-vous que l'opération que vous exécutez est valide pour le type sur lequel vous exécutez l'opération.

Exemple

L'exemple suivant génère l'erreur CS0118.

// CS0118.cs
// compile with: /target:library
namespace MyNamespace
{
   class MyClass
   {
      // MyNamespace not a class
      MyNamespace ix = new MyNamespace ();   // CS0118
   }
}