CopyPaste статических методов и полей
От: Eldar9x  
Дата: 27.05.11 08:15
Оценка:
Допустим есть примерно такая схема:
    interface IStateGUI
    {
    }

    class GUIDisconnected: IStateGUI
    {
        private static GUIDisconnected Instance = null;
        private static Object Sync = new Object();
        public int Parameter { get; private set; }    
        
        private GUIDisconnected()
        {
        }

        private GUIDisconnected(int _parameter)
        {
            this.Parameter = _parameter;
        }

        public static GUIDisconnected GetInstance(int _parameter)
        {
            if (GUIDisconnected.Instance == null)
            {
                lock (Sync)
                {
                    if (GUIDisconnected.Instance == null)
                        GUIDisconnected.Instance = new GUIDisconnected(_parameter);
                }
            }

            return GUIDisconnected.Instance;
        }    
    }


Кроме GUIDisconnected есть еще куча классов, реализующих IStateGUI. Можно ли каким-нибудь способом избежать копипаста статических методов этого класса? Так как эти методы по сути будут различаться только идентификатором класса (GUIDisconnected). Пытался применить шаблоны, но как то не сложилось. Еще проблема в том, что Instance и Sync тоже статические, вобщем наследование тут как-то не катит...
int i;
i = (i++)+(i++);
cout << i;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.