Errore del compilatore CS0118

Aggiornamento: novembre 2007

Messaggio di errore

'nome_costrutto1' è 'costrutto1' ma è usato come 'costrutto2'.
'construct1_name' is a 'construct1' but is used like a 'construct2'

Il compilatore ha rilevato l'utilizzo errato di un costrutto o il tentativo di eseguire un'operazione non consentita in un costrutto. Alcuni esempi comuni sono elencati di seguito:

  • Tentativo di creare un'istanza di uno spazio dei nomi (anziché di una classe)

  • Tentativo di chiamare un campo (anziché un metodo)

  • Tentativo di utilizzare un tipo come variabile

  • Tentativo di utilizzare un alias esterno come tipo

Per correggere l'errore, accertarsi che l'operazione che si esegue sia valida per il tipo utilizzato.

Esempio

Il seguente codice di esempio genera l'errore CS0118:

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