Andrey on .NET | Про C#, .NET, ASP.NET, Core, MVC, Azure, EF, IoC и другие умные слова

Использование ключевого слова yield

Не часто приходится использовать ключевое слово yield. Обычно про него вспоминают при создании класса, реализующего интерфейс IEnumerable. Давайте разберемся, зачем оно нужно и как работает. А так же выясним, всегда ли надо разрабатывать класс для указанного выше интерфейса.

Читать дальше...

Все для Windows Phone 7 (и не только)

Главная новость за прошедший день – выход Windows Phone 7 Developer Tools. Вслед за ним стал доступен набор дополнительных Silverlight-компонент для Windows Phone 7, а библиотека Microsoft Silverlight Analytics Framework обновлена с целью поддержки Phone 7.

Читать дальше...

Разделители компонентов даты и времени

Можете ли вы сказать, что выведет на консоль следующий код?

DateTime dt = new DateTime(2010, 10, 15);
Console.WriteLine(dt.ToString("yyyy/MM/dd"));

Если вы ответили "2010/10/15", то вы ошиблись. Знаете почему?

Читать дальше...

Microsoft упрощает разработку дополнений для Visual Studio 2010

VSPackage Builder от компании Microsoft это новое расширение для Visual Studio 2010, которое облегчает разработку дополнений. Используя VS2010 SDK как основу, оно избавляет разработчика от большого количества рутинной работы. Главная особенность – визуальный редактор, показывающий элементы и взаимосвязи разрабатываемого дополнения. Посмотрим насколько это все упростит нашу работу.

Читать дальше...

Новые примеры в Microsoft All-In-One Code Framework

Обновился Microsoft All-In-One Code Framework. Напомню, что это сборник решений типовых задач, таких как работа с COM, Windows Shell, DLL, IPC/RPC, использование WPF и Silverlight и т. д. Исходный код доступен на C#, С++, С++/ATL и VB.NET. В коллекцию, насчитывающую более 390 примеров, добавились:

Читать дальше...

Подвох от protected при наследовании в C#

Перед выходными мне попался перевод на русский язык заметки "Hide and seek". В ней рассматривалось правило сокрытия методов при наследовании класса. В примере был приведен код, где обращение к методу базового класса можно было принять за попытку обращения к закрытому методу вне его класса. Но меня заинтересовал другой момент.

Читать дальше...