Существуют разные способы локализации WPF-приложения. Самый простой и распространенный вариант — использование файла ресурсов Resx и автоматически сгенерированный к ним Designer-класс. Но этот способ не позволяет менять значения «на лету» при смене языка. Для этого необходимо открыть окно повторно, либо перезапустить приложение.
В этой статье я покажу вариант локализации WPF-приложения с мгновенной сменой культуры.
Читать полностью »
Рубрика «C#» - 124
Локализация WPF-приложения и мгновенная смена культуры
2016-01-03 в 19:37, admin, рубрики: .net, C#, wpf, локализация интерфейса, Локализация продуктов, разработка под windowsИщем ошибки в MonoDevelop
2015-12-30 в 8:31, admin, рубрики: .net, C#, dotnet, Mono, Mono и Moonlight, monodevelop, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, статический анализ кода
В жизни анализатора PVS-Studio состоялось важное событие — в последней версии была добавлена возможность проверки кода, написанного на C#. Являясь одним из разработчиков данного анализатора, я просто не мог пройти мимо, не проверив какой-нибудь проект. Понятно, что мало кому будет интересно читать про проверку маленьких и неизвестных проектов, поэтому нужно было выбрать что-то известное, и выбор пал на MonoDevelop.
Читать полностью »
Делаем джойстик из Windows Phone
2015-12-29 в 10:25, admin, рубрики: .net, C#, джойстик, ПрограммированиеНебольшая предыстория.
Однажды вечером подошел ко мне сын и сказал, что хочет поиграть в Марио. Летом у бабушки на даче он любил «зарубиться» в дождливую погоду. А за окном как раз дождь. Не долго думая я скачал ему первый попавшийся эмулятор 8-ми битной приставки и игру. Однако, оказалось, что удовольствие от игры на клавиатуре совсем не то. Идти покупать джойстик было уже поздно. И тогда я подумал, что можно обойтись и без него. Под рукой у нас была старенькая Nokia Lumia, ее размеры и форма примерно совпадали с нашими нуждами. Было решено написать джойстик. Сын отправился рисовать дизайн на листе бумаги в клеточку, а папа пошел варить кофе и думать, как бы осуществить эту идею с наименьшими временными затратами.
Я решил пойти по пути наименьшего (с моей точки зрения) сопротивления. Эмулятору приставки в настройках надо указывать нажатые кнопки, значит наше приложение должно нажимать кнопки. Нажатие кнопок можно эмулировать при помощи старого доброго WINAPI.
Конечной идеей стало клиент-серверное приложение. Клиент (телефон) при нажатии на кнопку посылает запрос на сервер, который, в свою очередь, в зависимости от того что пришло эмулирует нажатие или отпускание кнопки клавиатуры. Связь же осуществляется через сокеты. Вроде все просто. Начинаем делать.
Читать полностью »
Новогодняя проверка .NET Core Libraries (CoreFX)
2015-12-28 в 11:35, admin, рубрики: C#, CoreCLR, CoreFx, dotnet, Mono, Mono и Moonlight, open source, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio, Компиляторы, статический анализ кодаОколо года назад Microsoft выложила в открытый доступ исходный код таких проектов, как CoreCLR и CoreFX. Последний проект до недавнего времени не был нам интересен, потому что написан на языке C#, а не C++. Но с выходом новой версии PVS-Studio 6.00, поддерживающей проекты и на языке программирования C#, я решил вернуться к CoreFX и написать статью.
Введение
.NET Core это модульная реализация библиотек и среды выполнения, которая включает подмножество .NET Framework. .NET Core состоит из набора библиотек, называемых «CoreFX» и небольшой оптимизированной рабочей среды «CoreCLR».
.NET Core распространяется с открытым исходным кодом, который доступен на GitHub:
Это крупные продукты от Microsoft, содержащие качественный исходный код, но подозрительные участки кода всё равно можно найти.
О проверке CoreCLR можно прочитать в статье "PVS-Studio: 25 подозрительных фрагментов кода из CoreCLR".
Проект CoreFX, о котором подойдёт речь в статье, проверялся с помощью статического анализатора PVS-Studio 6.00, который теперь поддерживает и C#!
Читать полностью »
ASP.NET 5. Аутентификация по токену
2015-12-28 в 8:58, admin, рубрики: .net, ASP, asp.net 5, authentication, C#Понадобилось мне написать некое ASP.NET WebApi приложение, и клиентское приложение на Javascript с использованием этого API. Решено было писать на ASP.NET 5, заодно и изучить новый релиз.
Если бы это было обычное MVC приложение, я бы использовал cookie-based аутентификацию, но кросс-доменные запросы не позволяют передавать куки. Следовательно, необходимо использовать token-based аутентификацию.
Microsoft предлагает свою реализацию — JwtBearerAuthentication. Но охота же самому во всем разобраться. Поэтому я решил написать свою реализацию — BearerAuthentication.
Читать полностью »
«Roslyn — еще очень сырая технология» — интервью с Сергеем Шкредовым, руководителем .NET-направления в JetBrains
2015-12-26 в 13:18, admin, рубрики: .net, C#, c++, dotnext, dottrace, jetbrains, microsoft, performance, ReSharper, resharper c++, roslyn, Visual Studio, visual studion, без слайдов, Блог компании JUG.ru Group, метки: без слайдовПривет, это снова Без слайдов. Я Алексей Федоров, и на этот раз в гостях у меня побывал Сергей Шкредов, руководитель всего .NET-направления в компании JetBrains.
С Сергеем мы говорили:
- о последних релизах ReSharer;
- о новой схеме подписок и лицензий;
- про непростые отношения с Microsoft;
- о рантайме и развитии языка;
- о том, как поменял ситуацию выход Roslyn;
- о работе с фидбеком пользователей для улучшения продукта;
- о планах развития других продуктов .NET стека;
- о важности внутриотраслевого общения и обмена опытом;
- про разработку продуктов для С++;
- немного о ReSharper C++, на который должны подсесть даже разработчики Microsoft;
- О том, как пользователи почувствуют изменения;
- Как ReSharper будет развиваться дальше.
Вот видео
Под катом — текстовый вариант интервью.
DotNext 2015 в Москве: раздвигая границы
2015-12-24 в 8:07, admin, рубрики: .net, ASP, C#, devexpress, dotnext, futurice, jetbrains, ReSharper, Блог компании JUG.ru Group, дино эспозито, конференция, метки: dotnextКонференция DotNext дошла до уровня, когда среди российских .NET-программистов она уже не нуждается в представлении: появившись в Петербурге почти два года назад, она взялась покорять столицу и собрала множество участников. Но теперь, когда о прошедшей недавно в Москве DotNext 2015 Moscow не требуется объяснять «что это такое», возникает новый вопрос: чем она отличалась от прошлогодней?
Ответ на этот вопрос — в подробном рассказе о прошедшей конференции под катом.
Распарсить HTML в .NET и выжить: анализ и сравнение библиотек
2015-12-23 в 16:02, admin, рубрики: .net, AngleSharp, C#, CsQuery, Fizzler, html, HtmlAgilityPack, regex, парсинг, Программирование, разработка, метки: AngleSharp, CsQuery, Fizzler, HtmlAgilityPack
В ходе работы над одним домашним проектом, столкнулся с необходимостью парсинга HTML. Поиск по гуглу выдал комменарий Athari и его микро-обзор актуальных парсеров HTML в .NET за что ему огромное спасибо.
К сожалению, никаких цифр и/или аргументов в пользу того или иного парсера найдено не было, что послужило поводом к написанию данной статьи.
Сегодня я протестирую популярные, на данный момент, библиотеки для работы с HTML, а именно: AngleSharp, CsQuery, Fizzler, HtmlAgilityPack и, конечно же, Regex-way. Сравню их по скорости работы и удобству использования.
TL;DR: Код всех бенчмарков можно найти на github. Там же лежат результаты тестирования. Самым актуальным парсером на данный момент является AngleSharp — удобный, быстрый, молодежный парсер с удобным API.
Тем, кому интересен подробный обзор — добро пожаловать под кат.
Читать полностью »
Новогодний релиз PVS-Studio 6.00: проверяем Roslyn
2015-12-23 в 11:52, admin, рубрики: .net, bugs, C#, dotned, pvs-studio, roslyn, Visual Studio, Блог компании PVS-Studio, ошибки в программе, разработка под windows, статический анализ кода
Настало долгожданное событие. Мы выпустили релизную версию статического анализатора кода PVS-Studio 6.00, поддерживающего проверку C#-проектов. Теперь осуществляется проверка кода, написанного на следующих языках: C, C++, C++/CLI, C++/CX, C#. К выпуску шестой версии анализатора мы приурочили проверку открытого проекта Roslyn. Именно благодаря Roslyn в анализаторе PVS-Studio появилась поддержка C#, и мы очень благодарны компании Microsoft за реализацию и развитие этого проекта.
Читать полностью »