Маленький рецепт на заметку: если вы желаете использовать некий XML-документ в Mono/.NET, убедитесь, что он не содержит определений дополнительных пространств имен (namespaces). Потому как попытка адресоваться по XPath-выражению в стиле //seprfeed/myns:title будет заранее обречена на неудачу.

Причина сего в том, что XML-парсеру неизвестно о пространствах имен, а, следовательно, ему надо информацию сообщить. Делается это весьма просто — создается объект класса XmlNamespaceManager, которому и указываются заветные namespaces. А затем при поиске этот объект идет параметром к вызову методов XPathNavigator.

Рецепт благополучно был найден в блоге Wayne Allen .

Комментарии отключены
13
Дек

Flash-интерфейс для приложения

Написал Максим Крентовский в Архив изысканий

Современному ПО уже мало быть просто функциональным, необходимо еще иметь привлекательный интерфейс, причем такой, чтобы заказчики и «Вау» сказали, и пользователи потом сильно не мучились.

Существует несколько вариантов создания подобных красивостей, нами на практике применялась пара из них. Первый состоял в использовании собственных картинок поверх стандартных элементов управления в библиотеке Qt. Это само по себе извращение, поскольку Qt имеет достаточно гибкую систему стилей, которую можно использовать, но в нашем случае быстрее (а порой это очень критично) оказалось нарисовать собственные элементы управления.
Подробнее →

Комментарии отключены
04
Сен

Оригинал статьи

Говорить компилятору что вам необходимо много приятнее, нежели то, так это сделать. Последнее, к сожалению, является тяжким бременем для программиста на императивных языках. Мы пытаемся понять логику машинного взаимодействия, проверяя по шагам выполнение операций, выверяя результаты и убеждаясь, что эффект от выполнения кода соответствует нашим ожиданиям. Функциональное программирование поможет нам отойти от всего этого.
Подробнее →

Комментарии отключены

Оригинал статьи

Начнем, пожалуй, с небольшого задания — попробуйте объяснить, что делает следующий фрагмент кода:

1
2
3
4
5
6
7
8
9
10
11
static void Main(string[] args)
{
string output = "";
if (args.Length > 0) output = args[0];
if (args.Length > 1) {
for (int i = 1; i < args.Length; i++) {
output += ", " + args[i];
}
}
Console.WriteLine(output);
}

Подробнее →

Комментарии отключены
31
Авг

Оригинал статьи

В прошлый раз было продемонстрировано, как вместо привычного using использовать традиционную функцию. Теперь перейдём к повседневным практикам,на примере которых попробуем доказать эффективность применения функционального подхода. Для примера будем использовать пространство имён WCF.
Подробнее →

Комментарии отключены
Следующая страница →
Максим Крентовский
системный архитектор
E-mail / GTalk: mkrentovskiy@gmail.com
Skype: mkrentovskiy