Проверка существования представления в .NET Core MVC

Проверка существования представления (view) порой бывает необходима при динамической загрузке, когда есть возможность, что представление не окажется на месте. По какой-то причине разработчики .NET Core не включили соотвествующий метод в расширения используемые с IHtmlHelper. Однако написать соотвествующий метод довольно просто. Его код представлен ниже.

Read More

Проверка правильности конфигурации в .NET

Команда разработчиков .NET Framework полностью избавила разработчиков приложений от создания своих велосипедов для проверки конфигурации. При создании своих ConfigurationSection достаточно просто воспользоваться одним из доступных валидаторов (IntegerValidator, LongValidator, RegexStringValidator, StringValidator, TimeSpanValidator). Уже из названий понятно, что каждый из валидаторов проверяет.

Read More

Управление VisualState в Prism

По работе с Prism при разработке универсальных приложений Windows написано не так много статей, как того хотелось бы. Бывает, что на совершенно обыденные, простые вещи, приходится писать свой "велосипед". Сейчас работая над "Моя посылка" я столкнулся с одной небольшой проблемой решить которую мне помогло только изучение исходных кодов библиотеки Prism.

Read More

Автоматический перевод ресурсов в Upper-Case для TextBlock (Windows Phone 8.1)

В Windows Phone 8.1 способ локализации приложения стал заметно проще. Теперь не нужно в каждом элементе управления прописывать длинную строку байдинга к необходимому ресурсу, достаточно просто указать x:uId элемента управления.

Read More

Линейный поиск на C#

Сейчас я читаю книгу Томаса Кормена «Алгоритмы. Вводный курс» и потому решил иногда публиковать что-нибудь интересное на тему алгоритмов. Начну я с простых, но очень важных алгоритмов линейного поиска. Они очень простые, но их важность заключается в том, что использовать такие алгоритмы приходится очень часто. Потому знания об их работе лишними не будут.

Read More

Сравнение производительности ArrayList и List<T>

Сейчас компьютеры имеют по нескольку ядер, гигабайты оперативной памяти, но проблемы быстродействия кода волнуют программистов по-прежнему. Потому хороший разработчик должен не просто знать, как написать код, но так же и как его максимально оптимизировать.

Read More

Не работает скроллинг в DevExpress GridView после щелчка в колонке с ComboBox

Почти день потратил на обычный минорный баг, который нашли в нашем приложении. Для отображения данных у нас используется обычный DexExpress-овский GridView. И вот получался интересный случай. После выбора любой записи, скроллинг колесом мышки работал на «ура». Но стоило щелкнуть в колонке выбора записи (колонка с ComboBox), как скроллинг тут же переставал работать. На сайте DevExpress не нашел ничего толкового. В итоге немного подумав, проблему решил всего одной строкой кода.

Read More