to post messages and comments.

Книга «Язык программирования C#. Классика Computers Science.» 4-е изд. (Хейлсберг А., Торгерсен М., Вилтамут С., Голд П.) выглядит довольно странно и местами пугающе. На 48 странице задвигают за параметры–типы которые не совсем понятно для чего нужны и куда это прикладывать.
Определение класса может включать ряд параметров-типов. Для этого за именем класса указывают квадратные скобки, в которых содержится список имен параметров-типов. Параметры-типы затем могут использоваться в теле класса для определений элементов класса. В следующем примере параметрами-типами класса Pair являются TFirst и TSecond.
public class Pair<TFirst, TSecond>
{
public TFirst First;
public TSecond Second;
}
Класс, который объявлен с параметрами-типами, называется обобщенным (родовым, параметризованным) классом. Структура, интерфейс и делегат также могут быть обобщенными.
За оператор continue поясняют на 422 странице. Попалось на глаза вот такое:

Если для двух любых ссылочных-типов А и В существует неявное (раздел 6.1.6) или явное (раздел 6.2.4) ссылочное преобразование из А к В, то такое же ссылочное преобразование существует из массива типа A[R] к массиву типа B[R], где R — любой спецификатор-размерности (одинаковый для обоих массивов). Это отношение известно как ковариантность массива. Ковариантность массива, в частности, означает что значение массива типа A[R] может быть ссылкой на экземпляр массива типа B[R], при условии что существует неявное ссылочное преобразование из В к А.

Непонятно назначение модификатора readonly в C#. Написано что «readonly защищает место хранения поля от изменений, которые могли бы быть внесены помимо конструктора класса, но не защищает хранимое там значение.» и получается что переопределять нельзя, но можно изменять само зачение. Далее пример:
>public static readonly StringBuilder FirstBorn = new StringBuilder("Joe"); И написано что «Прямое изменение FirstBorn (вне конструктора) приводит к ошибке компиляции», но «Однако можно достичь нужного результата, модифицируя экземпляр StringBuilder»
>Names.FirstBorn.Remove(0,6).Append("Biff");

Термин «статический» был выбран в основном из-за того, что он понятен людям, пишущим на подобных языках, хотя он не особенно точно описывает смысл понятия «разделяемый всеми элементами класса».

«понятен людям, пишущим на подобных языках» как–то обидно звучит.

There's Json in System.Web.Helpers, there's JsonQueryStringConverter in System.ServiceModel.Web, there's JavascriptSerializer in System.Web.Script.Serialization, DataContractJsonSerializer in System.Runtime.Serialization.Json, heck MS has even decided to include third party Json.NET in its ASP.NET Web API. If you thought that wasn't enough, MS is coming up with System.Json but currently is unfit for consumption. Way to go Microsoft way to go.... I choose by the best looking namespace. – nawfal

Имеется солюшен, содержащий проекты А и Б. Последний использует А, который использует WindowsBase. При этом Б явно не содержат обращений к типам WindowsBase, потому не референсит его. Локально собирается без проблем, а билд-сервер говорит: что А юзает типы из WindowsBase, но не референсит его.
Хорошо хозяин проектов с бодуна, не поддался общей панике. Методично перекладывал ручки по столу и спустя минут двадцать решил проблему добавлением ссылки на WindowsBase в Б.

О боже! Какое же дерьмище этот Entity Framework! Ошибка на ошибке, сплошные исключения. Проще самому написать все логику работу с бд, чем заставить это говно пахать должным образом.

Жуйк программирующий, помоги сориентироваться. Раньше я работал на C#, который виндовый, да. Начинал с ASP.Net, потом работал с WPF. Так получилось, что пришлось поменять работу и писать на JavaScript. Но js браузерный меня уже как-то не впечатляет, но может быть я не всё знаю. Я пытаюсь определиться, оставаться мне с js, или переходить обратно на C#. Говорят, что C# востребованнее, и платят там больше, а на яваскрипте только и остаётся что клепать сайты-визитки.

Внезапно обнаружил, что в C# нельзя декларативно объявлять xml‐литералы. На vb.net можно так:
Dim contact2 =
<contact>
<name>Patrick Hines</name>
<%= From p In phoneNumbers2
Select <phone type=<%= p.Type %>><%= p.Number %></phone>
%>
</contact>
То есть, декларативно объявлять xml, узлы, атрибуты, xml‐комментарии со всякими Linq внутри, CDATA и импортировать xmlns‐пространства имён.
А вот в c# этого нет, там можно только склеивать строки my.jetscreenshot.com
Но есть запрос на добавление такой фичи в код github.com

Мужики, хотел снова спросить: чяднт?
http://pastebin.com/1qJ7Uwbw http://pastebin.com/4S4Xca9R
Вроде всё по msdn, но один хрен сервис не работает. Точно не помню какая ошибка, но вроде 1053. Как видно из кода, я надеюсь, сервис должен отслеживать вход пользователя в систему (код нагло стызжен отсюда http://stackoverflow.com/questions/44980/how-can-i-programmatically-determine-if-my-workstation-is-locked).
И ещё. Как это нормально можно тестировать? Я так понял, что нормального средства для тестирования нет. http://citforum.ru/SE/testing/automation_2/index.shtml#ind

BitArray b1 = new BitArray (new byte[] { 0x55, 0xFC });
BitArray b2 = new BitArray (new byte[] { 0x33, 0x3F });

PrintValues (b1, 16);
PrintValues (b2, 16);

Console.WriteLine ("AND");
PrintValues (new BitArray(b1).And (b2), 16);

Console.WriteLine ("XOR");
PrintValues (new BitArray(b1).Xor (b2), 16);

Как через код отключить залипание? Или же правильно послать событие нажатия, чтобы обмануть счётчик винды?
Я уже попробовал хуки и обычный SendKeys. Ничего из этого не сработало.
Предложения?

Что можно придумать хорошего, если в одном месте у меня идёт обращение к базе, которой может не быть. В таком случае оно, конечно, если подождать, то выдаст ошибку как полагается, а если мышкой потыкать, то система решит, что программа зависла и предложит убить, чего мне не надо.
Как этого избежать? Как обойти?

ради интереса потыкал в roslyn
скомпилился код
pastebin.com

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

+появилось окно SyntaxTree зачем-то
f5.s.qip.ru

Я просто поражаюсь этим мелкомягким. Серьёзно. Казалось бы: .net существует весьма давно и как бы по идее должен нормально работать даже в Windows XP. Но, нет! И это несмотря на то, что версия 3 существует уже давно и должна работать нормально и под ней.
Короче говоря, судя по всему, меня ждут ад и муки отладки, дабы заставить свой код нормально работать под XP.
И не надо мне говорить, что оно устарело. У меня лицензия и старый комп. Я не могу туда водрузить ничего новее. Так что буду пилить и пытаться.

Офигительно — написал 3 linq, при выполнении которых булев флаг становится true. Сначала Resharper предложил объединить первое условие с объявлением флага, потом — объединить все условия через ||. Длинновато получилось, но ладно. Тут уже ругнулся проверяльщик синтаксиса — их условий не была убрана проверка флага, который здесь же и определяется — решарпер предложил инициализировать переменную(которую сам до этого заменил своей инициализацией). Из интереса, что же будет дальше, согласился. В результате куча условий превратилась в
const neighborsFound = false;
Assert.IsTrue(neighborsFound);
Всё-таки до ИИ ещё далеко

В Visual Studio 2012 нельзя ScrollViewer прокрутить, если он есть в окне в режиме дизайна (WPF). Эту проблему можно решить, создав класс и указав attached property у скроллвьювера из этого класса. Это впечатляет stackoverflow.com