Visual Studio 'Find In Files' Bug

 bug, Microsoft, visual studio  Комментарии отключены
Янв 202010
 

Hello всем пользующимся сим замечательным продуктом.
Сие послание адресовано тем несчастным (я в их числе), у которых по непонятным причинам вдруг перестает работать поиск по файлам Solution'a.
Если сия беда с Вами приключилась - смело жмите Ctrl + Scroll Lock -> и все опять начнет работать :-) .

Источник - http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/fae0892c-1738-4891-8232-5488988dbca2/

ЗЫ. В багтрекере этот баг значится как "Could not reproduce" - из чего напрашивается вывод - "а ОНИ сами ЕЮ пользуются???"

C++0x Features in VC10

 c++0x, Microsoft, visual studio  Комментарии отключены
Мар 292009
 

Лениво полистывая Visual C++ Team Blog наткнулся на ОЧЕНЬ ДЛИННЫЙ пост в двух частях про С++0x Features in VC10.
Конкретно в посте идет речь о четырех фичах С++0x доступных в Microsoft Visual Studio 2010 CTP - lambdas, auto, static_assert и rvaluer references.

До конца еще пока ниасилил но обещаю очень занимательное чтиво. 8)
Часть 1
Часть 2

Платформа 2009

 C#, Microsoft  Комментарии отключены
Фев 212009
 

4–5 Декабря в Москве прошла очередная, десятая ежегодная конференция от Micro$oft - "Платформа 2009. Определяя будущее". Лично на конференциия не присутствовал, но был заинтересован. Очень сильно интриговал тот факт, что на конференцию приедет выступить с докладами сам великий и могучий Марк Руссинович (профиль докладчика).
Особый интерес для меня как для программиста представлял доклад "C#. Взгляд в будущее", рассказывающий историю развития языка C# его зарождения в 1998-м году и появления в 2002-м году первой его версии 1.0, до версии 4.0 которая будет доступна в VisualStudio 2010.
Итак, чтоже такого интересного нас ждет в C# 4.0?
1)
Динамическая типизация объектов.
смысл в том, что мы можем напрямую сообщить компилятору что мы не знаем точного типа объекта, и что привязка к его методам должна быть выполнена в Run-Time. для этого введено новое ключевое слово dynamic :
То что раньше приходилось делать так:

object calc = GetCalculator();
Type calcType = calc.GetType();
object res = calcType.InvokeMember("Add",
BindingFlags.InvokeMethod, null,
new object[] { 10, 20 });
int sum = Convert.ToInt32(res);

Теперь можно сделать так:

dynamic calc = GetCalculator();
int sum = calc.Add(10, 20);

Сразу хочу заметить, что тем кто, в связи с Dynamic Dispatch, переживает за производительность, Micro$oft обещает реализовать эффективный Call Site Caching.

2) Параметры по умолчанию и именованные аргументы.
Некоторым это должно быть знакомо. Да! Такое есть в языке Objective-C, так что кто писал под MacOS удивлены не будут. Однако для C# это очень крутое нововведение. Смысл его в том, что можно пропускать дефолтные параметры, а также менять порядок передачи параметров. Вот простейший пример:

можем написать такую функцию

public void M(int x, int y = 5, int z = 7);

и она будет иметь такие варианты вызовов:

M(1, 2, 3); // обычным образом
M(1, 2); // опущен последний параметр z – тоже самое, что вызвать M(1, 2, 7)
M(1); // опущены 2 последних параметра - y и z – тоже самое, что вызвать M(1, 5, 7)

M(1, z: 3); // передача фактического значения по имени формального параметра - z
M(x: 1, z: 3); // передача двух значений по именам параметров - x и z
M(z: 3, x: 1); // аналогично предыдущему

3) Упрощенная работа с COM.
То чего всем так не хватало! Наконец у Micro$oft дошли руки. Встречайте - теперь вместо такой колбасни

object fileName = "Test.docx";
object missing = System.Reflection.Missing.Value;

doc.SaveAs(ref fileName,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing);

можем просто написать

doc.SaveAs("Test.docx");

Ура товарищи.

4) Ко-вариантность и контра-вариантность.
Обещают безопасную ко-вариантность. Предлагается статически проверяемая вариантность по месту определения, а также типы значений теперь всегда инвариантны

IEnumerable<int> != IEnumerable<object>

5) Компилятор как сервис.
Еще одна очень интересная штуковина в C#4.0 - это Evaluator - класс для компиляции и исполнения кода в Run-Time! Да здравствует скриптование! Программа во время выполнения может в зависимости от ситуации и параметров генерировать код, компилировать и выполнять его.

CSharpEvaluator ev = new CSharpEvaluator();
ev.Usings.Add("System");
ev.Eval("for (int i = 0; i < 10; ++i) Console.WriteLine(i * i);");

Было много еще всего вкусного. Рекомендую сходить на сайт http://platforma2009.ru и узнать больше.

© 2011 3D-Orange.com.ua
e-mail me

3D-Orange.com.ua is proudly powered by WordPress.
Suffusion theme by Sayontan Sinha