Compiler Error CS0116

命名空间并不直接包含诸如字段或方法之类的成员

namespace 内,编译器只接受类、结构、联合、枚举、接口和委托。当 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);
    }
    // To fix the error, you must
    // enclose a method in a class:
    class Program
    {
        void Method2(string str)
        {
            Console.WriteLine(str);
        }
    }
}

请参阅

C# 程序的通用结构(C# 编程指南)

类和结构(C# 编程指南)

命名空间(C# 编程指南)