Erreur du compilateur CS0116
Mise à jour : novembre 2007
Message d'erreur
Un espace de noms ne contient pas directement des membres, tels que des champs ou des méthodes
A namespace does not directly contain members such as fields or methods
À l'intérieur d'un espace de noms, le compilateur n'accepte que des classes, des structures, des unions, des énumérations, des interfaces et des délégués. Cette erreur est souvent générée par les développeurs à partir d'un acquis C/C++ qui oublient qu'en langage C#, les méthodes et variables doivent être déclarées et définies dans un struct ou dans une classe. Pour plus d'informations, consultez Structure générale d'un programme C# (Guide de programmation C#).
Exemple
L'exemple suivant génère l'erreur CS0116 :
// CS0116.cs
namespace x
{
using System;
// method must be in class/struct
void Method(string str) // CS0116
{
Console.WriteLine(str);
}
}