In C# you can put a constraint on a generic method like: public class A { public static void Method<T> (T a) where T : new() {