Denis Gladkikh
Russian   |  English

Выбранный тег: .NET

Страница  1  2  3  4  5  6  

WPF 4.0. Что нового? Часть 5.

Последняя статья из серии что нового в WPF. Предыдущие версии: 1, 2, 3, 4. В данной части будет небольшая солянка из еще найденных и откопанных нововведений. Предполагаю, что можно найти и другие, но уже и эти не совсем нужны в продакшене, потому, пожалуй, пора остановится.



WPF 4.0. Что нового? Часть 4.

Четвертая часть из серии нововведений WPF 4.0 (Предыдущие записи: 1, 2, 3). Думал, что это будет заключительная, но все же откопал еще несколько вкусностей на следующую часть. В этой же серии в основном будет информация о нововведениях связанных с XAML разметкой и биндингом.



Минимум кода для отображения окна на WPF

Попался на глаза топик на Хабрахабр про сравнение языков C++/Java с какими-то недоязыками, вроде APL и J. Сравнение просто идиотское: на каких-то прикладных задачах, ради которых, видимо, и сделаны эти языки, показывают, что на них можно написать решение в одну строчку, в отличие от Java, где будет несколько экранов. И вроде как все должны сказать “Вау, круто!”, но народ не проведешь ;)

Решил я для примера написать код, точнее минимум кода на WPF, чтобы вывести окно с текстом “Hello world”, знаете что для этого нужно? Создаем новый проект WPF, выкидываем вообще все, кроме файла App.xaml, в котором пишем такие строки

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Application.MainWindow>
        <Window Visibility="Visible">
            Hello world
        </Window>
    </Application.MainWindow>
</Application>

Все! Компилируем, запускаем и смотрим на окно. Кто сможет написать меньше кода? ;)

Progg it




Получить список избранных ссылок

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

const string urlConst = "URL=";
// Путь до папки "избранное"
string pathFavorites = Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
// Получаем список всех файлов, включая файлы в подпапках
foreach (String favorite in Directory.GetFiles(pathFavorites, "*", SearchOption.AllDirectories)) 
{
    using(StreamReader file = new StreamReader(favorite))
    {
        while (!file.EndOfStream)
        {
            string line = file.ReadLine();
           
            if (line.StartsWith(urlConst))
            {
                string url = line.Substring(urlConst.Length);
                string name = Path.GetFileNameWithoutExtension(favorite);
                Console.WriteLine("NAME='{0}', URL = '{1}'", name, url);
                break;
            }
        }
    }
}
Console.ReadKey();


Пишем свою систему логирования при помощи WCF

Предположим у нас есть задание: написать систему логирования, которая в реальном времени отсылает логи слушателям, причем информация может быть конфиденциальная и нужно избежать возможности кражи информации.



NHibernate – auto mapper

В продолжение темы про NHibernate: xorets сделал мне дельное замечание по поводу того, что неуместно наследоваться от класса Configuration без необходимости: а сделал я это не просто так, а потому что была у нас задача создавать маппинг наших объектов в NHibernate при помощи наших собственных методанных, а так как некоторые необходимые методы были protected в классе Configuration мне и пришлось от него унаследоваться (пример, кстати, я взял откуда то). Хотел вам рассказать как реализовать автоматический маппинг, но вспомнил про FluentnHibernate и остановился. Это в нашем случае он не подходил, так как у нас были свои метаданные, а в обычном случае метаданными могут являться сами типы объектов и при помощи reflection можно получить достаточную информацию, чтобы замапить тип на таблицу, такое и предоставляет FluentnHibernate - Auto mapping. Вообще, если вы все же столкнетесь с такой задачей, как автоматический маппинг из своих методанных – то рекомендую не терять время на разбор кода NHibernate, а делать следующее – создавать по методанным обычные xml маппинги NHibernate и их уже подсовывать конфигурации (Так собственно и работают Fluent и ActiveRecord, если я ничего не путаю). Синтаксис xml маппинга и все подводные камни уже хорошо везде описаны, потому я и считаю это лучшим способом.



Тестирование NHibernate приложений на примере MbUnit

Несколько раз встречал подобный вопрос: как тестировать приложения, использующие ORM NHibernate, точнее встречал проблемы с тестированием на форумах GotDotNet. Для меня проблема не очень понятна, вроде всегда было все просто. Но все же опишу небольшой пост об этом, чтобы в будущем можно было ссылаться на него.





Страница  1  2  3  4  5  6