Export (0) Print
Expand All
Expand Minimize
0 out of 1 rated this helpful - Rate this topic

Compiler Error CS0116

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
    {
        Console.WriteLine(str);
    }
    // To fix the error, you must
    // enclose a method in a class:
    class Program
    {
        void Method2(string str)
        {
            Console.WriteLine(str);
        }
    }
}
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.