Подскажите способ упростить построение класса
От: Eldar9x  
Дата: 01.10.12 05:29
Оценка:
вот пример такого класса:


    sealed class UnitManager : Actor
    {
        // ...
        
        [MessageHandler]
        private void OnConnected(UnitConnected msg)
        {
            // ...                                   
        } 

        [MessageHandler]
        private void OnDisconnected(UnitDisconnected msg)
        {
            // ...
        }

        // далее идет код, от которого хотелось бы избавиться, так как эта информация уже содержится в предыдущих методах (по типу параметра msg)
        public void Post(UnitConnected msg)
        {
            this.PostUnknownType(msg);
        }
        public void Post(UnitDisconnected msg)
        {
            this.PostUnknownType(msg); // PostUnknownType - protected метод в базовом классе Actor
        } 
    }


Видите дублирование кода? Для каждого MessageHandler мне приходится указывать метод Post, причем содержимое таких методов одинаковое.
Как добиться того, чтобы в самом классе UnitManager не было этих методов Post?
int i;
i = (i++)+(i++);
cout << i;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.