Здравствуй, %username%!
Недавно мне пришлось по долгу службы писать небольшой Excel add-in. К слову, до этого мой опыт работы с MS Office из-под .NET сводился к простеньким утилитам, генерировавшим отчеты в Excel при помощи Office Primary Interop Assemblies. А уж когда контора купила лицензии на Aspose.NET, взаимодействие с офисом через COM было забыто аки страшный сон. Так вот, начав разбираться в теме, я был неприятно удивлен отсутствием вменяемых русскоязычных туториалов для начинающих. Теперь хочу заполнить этот пробел. В качестве примера мы создадим add-in, который по нажатию кнопки генерирует на текущем листе список дней текущего месяца и выделяет выходные дни. Заинтересовавшихся прошу под кат!
Читать дальше →
Каждый прогер наверняка использовал паттерн «Компоновщик», а большинство из нас также сталкивалось с необходимостью реализовать его в своем проекте. И часто так получается, что каждая его реализация налагает особые требования на определяемую бизнес-логику, при этом с точки зрения работы с иерархической структурой мы хотим иметь одинаково широкий набор возможностей: одних методов Add и Remove часто недостаточно, так почему бы не добавить Contains, Clear и с десяток других? А если еще нужны специальные методы обхода поддеревьев через итераторы? И вот такую функциональность хочется иметь для различных независимых иерархий, а также не обременять себя необходимостью определять реализацию таких методов в каждом из множества элементов Composite. Ну и листовые компоненты тоже не помешало бы упростить.
Чуть ниже я предложу свой вариант решения такой проблемы, применительно к возможностям C#.
Читать дальше →
У каждого наверняка есть страничка в социальных сетях. Простая контактная информация пусть и полезна, но довольно скучна. Вот и ставят люди себе разнообразные статусы: прикольные цитаты, высказывания великих мыслителей или же популярные нынче «ванильные» статусы.
Многие пользователи всемирной сети ищут, где же можно найти интересные и непопсовые статусы, информеры для ucoz сайта или блога. Поделюсь ссылочкой с вами — newstatusy.ru. А вот и живой пример статуса/информера для вашего блога или сайта.
Установить такой код себе на сайт достаточно просто и не требует специальных знаний по программированию, так что вперед! Внесите в свой сайт разнообразия.
Около года назад я писал статью о том, как можно вызывать методы классов написанных на чистом Си++ из любой .NET программы не прибегая к регистрации COM библиотек, C++/CLI и т.п.
Сегодня я расскажу об еще одном оригинальном и весьма удобном подходе, а, кроме того, этот топик будет интересен всем хаброчитателям которые хотят побольше узнать о замечательном инструменте Reflection.Emit (на мой взгляд эта тема на хабре недостаточно хорошо освещена).
Читать дальше →