This documentation is archived and is not being maintained.

Compiler Error CS0116 

Error Message

A namespace does not directly contain members such as fields or methods

Inside a namespace, the compiler only accepts classes, structures, unions, enumerations, interfaces, and delegates. This error is often generated by developers from a C/C++ background who forget that in C#, methods and variables must be declared and defined within a struct or class. For more information, see General Structure of a C# Program (C# Programming Guide).


The following sample generates CS0116:

// CS0116.cs
namespace x
    using System;

    // method must be in class/struct
    void Method(string str) // CS0116