Не запрашиваются данные по nullable полям в Linq to SQL


Недавно столкнулся с непонятным для меня поведением Linq To SQL. Я использовал в одной таблице nullable поле типа  int, которое в C# отображалось как int? соответственно. Как оказалось, при выполнении запросов с условием равенства этого поля переменной типа int?, в которой лежит  null значение  ничего не выбирается, хотя данные с таким значением эт…читать далее

Эмуляция private virtual в C#


В C++ есть возможность делать приватные методы виртуальными, это позволяет переопределять данный метод в базовом классе, но не позволяет вызывать базовый метод. В C# такой возможности нет, однако можно эмулировать похожее поведение Первое, что пришло мне в голову public class Base { protected virtual EventHandler GetActionHandler() { return null; }…читать далее

Использование методов-расширений в C#


Методы-расширения (extension methods)  появились в .Net 3.0. На первый взгляд кажется, что они не дают ничего нового. Однако, на самом деле, они позволяют писать изящный код и увеличить повторное использование кода в вашем проекте Иногда, по мере решения каких-то задач, возникает необходимость добавить какой-то метод к существующему стороннему типу…читать далее

Введение в Linq


Начиная с версии .Net Framework 3.5  в языке C# появился новый функциональный инструмент, позволяющий значительно упростить работу с коллекциями данных. Называется этот инструмент — Language INtegrated Queries (LINQ — интегрированные в язык запросы).  На самом деле в Microsoft не изобрели ничего нового. Данные возможности присутствовали в функциона…читать далее

Что делать когда не устанавливается .Net 3.5?


Сегодня пришлось устанавливать  .Net программу в одной конторе. На рабочий компьютер они поставили tweak для интерфейса, превращающий Windows XP в Vista-подобную винду. Естественно, после всего этого безобразия Microsoft .Net  3.5 отказался устанавливаться( предложив отправить отчет в Microsoft). Приложение, которое нужно было запустить было в вид…читать далее