Compiler Error CS1106

Extension methods must be defined in a non generic static class.

Extension methods must be defined as static methods in a non-generic static class.

Example

The following example generates CS1106 because the class Extensions is not defined as static:

// cs1106.cs
public class Extensions // CS1106
// The Extensions class must be defined as static:
//     public static class Extensions
{
    public  static void Test<T>(this System.String s) {}

    static void Main() { }
}

See Also

Reference

Extension Methods (C# Programming Guide)

static (C# Reference)

Change History

Date

History

Reason

October 2010

Added a comment that shows how to fix the problem.

Customer feedback.