|
Языки программирования Изучаем С++, Sql, php, Lua, Python |
|
Опции темы | Поиск в этой теме | Опции просмотра |
03.08.2010, 04:10 | #1 |
Новичок
Регистрация: 08.03.2010
Сообщений: 20
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 1 сообщении
|
Monodevelop on Debian + Singleton
Доброго времени суток. Вообщем ввиду появления немного свободного времени решил продолжить разработку WWLauncher, если кто помнит...
В серверной части используется паттерн одиночка. Все тесты проводил на сервере под дебианом, кодил я в винде, в монодевелоп 2.4. Через неделю после возобновления разработки перешел на дебиан и на десктопе, поставил там моно 2.6, монодевелоп 2.4 (из сорцов). Каково же было мое удивление, когда я стащил с репо сорцы серверной части и они отказались компилится (а день назад прекрасно компилились под виндой). Юзал свой вариант класса-потомка для классов-синглтонов, после медитации попробовал использовать то, что сейчас на википедии. Код:
public class Singleton<T> where T : class { protected Singleton() { } private sealed class SingletonCreator<S> where S : class { private static readonly S instance = (S) typeof(S).GetConstructor( BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[0], new ParameterModifier[0]).Invoke(null); public static S CreatorInstance { get { return instance; } } } public static T Instance { get { return SingletonCreator<T>.CreatorInstance; } } } Код:
Singleton.cs(38,38): Error CS0305: Using the generic type `Singleton<T>.SingletonCreator<S>' requires `2' type argument(s) (CS0305) Код:
get { return SingletonCreator<T>.CreatorInstance; } Всем заранее спасибо... PS: Если кто то хочет изучать си шарп и присоединится к команде - милости прошу Проект исключительно для самообразования, ну и, скажем так, для внесения своей лепты в опенсорц-комьюнити мангоса/тринити (pet-project), упор на Mono (т.е. работа серверной части под Linux), поддержка configure && make в Linux, обратная совместимость с .NET 2.0. Большие планы на развитие, в частности на создание мощных инструментов для ГМов (ака квайс) но без доступа к серверу mysql/ssh. Куча фишек, которые в принципе не нужны, но просто интересно было их реализовывать (например модуль CompID). Особенно необходим человек, способный рисовать для клиентской части интерфейс (кнопочки и т.д.). |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10952] Don't use singleton to access static functions. | newsbot | CMaNGOS Commits | 0 | 03.01.2011 14:00 |
[10273] Avoid some redundent and recursive calls to SpellMgr singleton. | newsbot | CMaNGOS Commits | 0 | 26.07.2010 16:00 |