А как по вашему должна была вести себя программа в другом фрэймворке? (рантайм то одинаковый) — просто интересно ваше мнение.
+ Вы сами ответили на свой вопрос — развертывание с проверкой версии (благо, это настраиваеться в свойствах Deployment Project'а) — отличное решение и никакого гемороя.
Всегда интересно увидеть статьи по Silverlight. Но как-то не слишком много и примитивно по основной идеи — настройки WCF (ожидал увидеть, как настроить его параметры (поведения), раз это SL4 то интересно было бы посмотреть на nettcpbinding и\или дуплексную связь) и нет ничего про настройки кроссдоменной политики безопасности, с чем обязательно столкнется любой разработчик SL+WCF
PS: имхо, проще было сериализовать объект PostCard через тот же XmlSerializer :-)
Оригинал: «Boromir smiles» (Two Towers, chapter 1).
Муравьев: Боромир слабо улыбнулся.
Григорьева: Тень улыбки промелькнула по бледному, без кровинки, лицу Боромира.
От составителя: Кто больше, господа?
А сколько она экономит? или это настолько частая процедура? тем более, что диалоги add reference имеет кэш и при последующих запусках открывается быстрее (а в vs2010 так и вообще — подгружает ассинхронно). Не поймите неправильно — я просто только для себя не вижу в ней особого смысла.
Вопрос к автору: а она работает только с GAC? умеет ли добавлять ссылки на проекты из того же солюшна?
Я так понимаю, это коробочный вариант вот этого habrahabr.ru/blogs/net/75831
Вещь интересная и в некоторых случаях — полезная. Но я бы за неё платить не стал, уж простите.
>>NullReferenceException в .Count() произошел бы все равно
Там возник бы ArgumentNullException, но возможно вы и правы — слишком коротко выразил мысль.
Попробуйте перечитать комментарии, может до вас дойдет. (где вы там увидели то, что я не понимаю как работает оператор || — для меня загадка).Не моя вина, что для вас совершенно нормально, что у null можно вызвать метод и не получить NullReferenceException (из-за «сахарного» синтаксиса расширяющих методов)
Попытка номер 4:
1) Utility.IsNullOrEmpty(null as List<int>) — нормально
2) (null as List<int>).IsNullOrEmpty() — выглядет ненормально
Хотя в IL обе эти строчки будут выглядеть _абсолютно_ одинаково.
Именно об этом я и писал, но большинство почему то подумало, что я не знаю как работает оператор ||… Видемо пишут быстрее чему думают или для них совершенно нормально, что у null можно вызвать какой-то метод (причем тут только IsNullOrEmpty ?? в любом extension method'е автор может реализовать проверку на null, в результате которой (null as Class1).SomeMethod(); не будет падать. к примеру с помощь. extension method можно написать вот так:
(null as string).Replace(); — и этот код нормально выполнится.
Жаль, что тут оказалось так мало адекватных людей.
+ Вы сами ответили на свой вопрос — развертывание с проверкой версии (благо, это настраиваеться в свойствах Deployment Project'а) — отличное решение и никакого гемороя.
PS: имхо, проще было сериализовать объект PostCard через тот же XmlSerializer :-)
Оригинал: «Boromir smiles» (Two Towers, chapter 1).
Муравьев: Боромир слабо улыбнулся.
Григорьева: Тень улыбки промелькнула по бледному, без кровинки, лицу Боромира.
От составителя: Кто больше, господа?
Вопрос к автору: а она работает только с GAC? умеет ли добавлять ссылки на проекты из того же солюшна?
Вещь интересная и в некоторых случаях — полезная. Но я бы за неё платить не стал, уж простите.
Там возник бы ArgumentNullException, но возможно вы и правы — слишком коротко выразил мысль.
Попытка номер 4:
1) Utility.IsNullOrEmpty(null as List<int>) — нормально
2) (null as List<int>).IsNullOrEmpty() — выглядет ненормально
Хотя в IL обе эти строчки будут выглядеть _абсолютно_ одинаково.
(null as string).Replace(); — и этот код нормально выполнится.
Жаль, что тут оказалось так мало адекватных людей.
List items = null;
bool r = items.IsNullOrEmpty();
скажут, что тут возникнет исключение (если не знать, про extension method)