C# Error CS1106 – Extension method must be defined in a non-generic static class

C# Error

CS1106 – Extension method must be defined in a non-generic static class

Reason for the Error & Solution

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  
{  
    public static void Test<T>(this System.String s) { }
}