Может я еще не проснулся, но отписыватся от события в деструкторе вообще не имеет смысла…
Подписка на LocalizationManager.Instance.CultureChanged означает, что в объекте LocalizationManager.Instance появится ссылка на ваш объект BindingLocalizationListener. Соответственно сборщик мусора соберет его только когда ОБА объекта (LocalizationManager.Instance и BindingLocalizationListener) станут недоступны. Т.е. кажется никогда до окончания работы всего приложения.
Так что не пишите так, это дает иллюзию защищенности… Возьмите какой-нибудь профилировщик памяти и посмотрите на ваше приложение через часок работы… На правах рекламы могу посоветовать dotmemory…
У решарпера и пвс-студио немного разный подход к обнаружению ошибок, поэтому рано или поздно расхождения появятся =)
Решарпер ищет ошибки здесь и сейчас, по мере того, как вы просматриваете / редактируете / пишете новый код. Анализы работают локально и быстро (по крайней мере должны работать быстро).
Пвс-студио работает в другом режиме — она получает на вход уже написанный проект, дальше шуршит некоторое время и выдает сразу список ошибок по всему проекту. Подозреваю (хотя и не знаю наверняка) что их анализы отвечают другим требованиям, нежели наши =)
Очевидное решение — тестировать производительность (в том числе) включая наборы известных модов, при обнаружении проблем, тюнить движок (возможно он не умеет оптимально делать то, что пытаются делать за него моды), менять API (никто не говорит что писатели модов досконально знают как у вас там все устроено, выставили два методы, один из которых в 100 раз медленнее, вот и получайте лаги), репортить о проблемах создателям модов.
Если речь идет о танках, то не знаю ни одного человека, играющего без модов. Пусть даже самых простых, типа бесконечное удаление камеры и часы в ангаре.
Вот у вас на главной странице есть примеры, я для того же самого могу использовать гугл
templates to shreds /en /fr /translate > templates to shreds translate russian
USD GBP /currency > usd gbp курс
lake baikal /maps > lake baikal
amsterdam /weather > amsterdam погода
Все результаты проверил — все работает inplace (карты + 1 клик, но миникарта также доступна сразу)
Только не надо вбивать команды, которые непонятно откуда брать. Они сами учатся понимать что хочет пользователь (пусть и не всегда у них хорошо получается), а вы пытаетесь научить пользователей вашем командам… Помоему очевидно какой подход лучше для пользователя, по крайней мере в долгосрочной перспективе =)
Здравомыслящий пользователь, как раз таки, не должен хотеть такого.
Если пользователь относится к аккаунту в данной игре как к мусору, то не должен. Если он серьезно настроен играть (и, о да, оплачивать там что-то), то ввести свою основную почту чтобы получать актуальную информацию хотя бы о транзакциях, он конечно же хочет.
Почему бы не разрешить регистрироваться как у всех (любая почта, контактик, фейсбучик и т.д.), просто создавать и выделять пользователю вашу почту автоматически, как один из (!) возможных входов и игровой аккаунт, если для вас это технически принципиально?
Да, когда этот функционал писался, конечно же это проверялось. Однако, позже, выпиливая эвент инициализаторы, я это случайно поломал и мы не дотестировали фичу.
Прошу прощения, если это доставило много проблем, как я уже говорил выше, мы скоро все поправим =)
Спасибо за фидбек, действительно в девятой версии решарпера мы не смогли охватить все фичи шестого шарпа.
В основном это связано с тем, что вышеописанные фичи еще не получили окончательный дизайн. Например, для стоковой интерполяции есть вот такие изменения в дизайне: roslyn.codeplex.com/discussions/570292
Однако, мы полагаем, что даже этот дизайн не окончательный. Зачем писать поддержку и тратить время того, что через месяц выбросят?
Ну а баги… Спасибо за фидбек, в ближайшем обновлении уже будет исправлен =)
Очень маленькая база, рядом с москвой сити не указано просто огромное количество ресторанчиков. А те что указаны, в большинстве своем, сетевые и не представляют особого интереса (ИМХО).
Подписка на LocalizationManager.Instance.CultureChanged означает, что в объекте LocalizationManager.Instance появится ссылка на ваш объект BindingLocalizationListener. Соответственно сборщик мусора соберет его только когда ОБА объекта (LocalizationManager.Instance и BindingLocalizationListener) станут недоступны. Т.е. кажется никогда до окончания работы всего приложения.
Так что не пишите так, это дает иллюзию защищенности… Возьмите какой-нибудь профилировщик памяти и посмотрите на ваше приложение через часок работы… На правах рекламы могу посоветовать dotmemory…
Решарпер ищет ошибки здесь и сейчас, по мере того, как вы просматриваете / редактируете / пишете новый код. Анализы работают локально и быстро (по крайней мере должны работать быстро).
Пвс-студио работает в другом режиме — она получает на вход уже написанный проект, дальше шуршит некоторое время и выдает сразу список ошибок по всему проекту. Подозреваю (хотя и не знаю наверняка) что их анализы отвечают другим требованиям, нежели наши =)
Если речь идет о танках, то не знаю ни одного человека, играющего без модов. Пусть даже самых простых, типа бесконечное удаление камеры и часы в ангаре.
Но полностью отключить анализы рослина конечно же нельзя…
Мне казалось мы обсуждаем ioc-контейнеры, а не указываем оппонентам на разницу между IoC и IoC-контейнерами. Видимо был не прав.
templates to shreds /en /fr /translate > templates to shreds translate russian
USD GBP /currency > usd gbp курс
lake baikal /maps > lake baikal
amsterdam /weather > amsterdam погода
Все результаты проверил — все работает inplace (карты + 1 клик, но миникарта также доступна сразу)
Только не надо вбивать команды, которые непонятно откуда брать. Они сами учатся понимать что хочет пользователь (пусть и не всегда у них хорошо получается), а вы пытаетесь научить пользователей вашем командам… Помоему очевидно какой подход лучше для пользователя, по крайней мере в долгосрочной перспективе =)
Если пользователь относится к аккаунту в данной игре как к мусору, то не должен. Если он серьезно настроен играть (и, о да, оплачивать там что-то), то ввести свою основную почту чтобы получать актуальную информацию хотя бы о транзакциях, он конечно же хочет.
Почему бы не разрешить регистрироваться как у всех (любая почта, контактик, фейсбучик и т.д.), просто создавать и выделять пользователю вашу почту автоматически, как один из (!) возможных входов и игровой аккаунт, если для вас это технически принципиально?
Это просто сахар для String.Format
Прошу прощения, если это доставило много проблем, как я уже говорил выше, мы скоро все поправим =)
В основном это связано с тем, что вышеописанные фичи еще не получили окончательный дизайн. Например, для стоковой интерполяции есть вот такие изменения в дизайне: roslyn.codeplex.com/discussions/570292
Однако, мы полагаем, что даже этот дизайн не окончательный. Зачем писать поддержку и тратить время того, что через месяц выбросят?
Ну а баги… Спасибо за фидбек, в ближайшем обновлении уже будет исправлен =)