Generics mint fogalom létezik a .net-ben. És ez jó. Gondoltam csinálok egy singleton ősosztályt mert az legalább olyan jó mint a generics.
   public abstract class Singleton<T> System.Object, new()
    {
        private static T _instance;
        public static T get()
        {
            if (_instance == null)
            {
                _instance=new T();
            }
            return _instance;
        }
    }
Öröm boldogság, gondoltam. De a fordító nem örült, és ezt mondta:
Error 1 Constraint cannot be special class ‘object’
Ejnye. Megnéztem a helpet.
Compiler Error CS0702
The following types may not be used as constraints: System.Array, System.Delegate, System.Enum, or System.ValueType.
Szerencsére, mint a Microsoft termékeknél általában, mindig van egy alternatív megoldás.
    public abstract class Singleton<T>
    {
        private static T _instance;
        public static T get()
        {
            if (_instance == null)
            {
                _instance = System.Activator.CreateInstance<T>();
            }
            return _instance;
        }
    }