Поделиться через


Ошибка компилятора CS0116

Обновлен: Ноябрь 2007

Сообщение об ошибке

Пространство имен не может непосредственно содержать такие члены, как поля или методы
A namespace does not directly contain members such as fields or methods

Внутри пространства имен компилятор допускает использование только классов, структур, объединений, интерфейсов и делегатов. Эта ошибка часто возникает у разработчиков с опытом работы в C/C++, которые забывают, что в C# метода и переменные должны объявляться и определяться внутри структуры или класса. Дополнительные сведения см. в разделе Общая структура программы на C# (Руководство по программированию на C#).

Пример

Следующий пример приводит к возникновению ошибки CS0116:

// CS0116.cs
namespace x
{
    using System;

    // method must be in class/struct
    void Method(string str) // CS0116
    {
        Console.WriteLine(str);
    }
}