Re[9]: [Ann, C#6] Состояние для VS2015 preview
От: agat50  
Дата: 25.11.14 20:53
Оценка: 30 (1) +1
Здравствуйте, Sinix, Вы писали:

Вместе с using static будет примерно так:
S>
S>var a = Eval(() => { using (var x = GetX()) return x.y; });
S>


Ну в целом да Обойти понятно можно. Просто выглядит чуть искусственно.

Про возврат нескольких переменных, так всеми желаемый PM и т.п. — имхо нужна просто возможность тонкой настройки области видимости переменной, очень много решит. https://roslyn.codeplex.com/discussions/552375 вариант с out, хотя сейчас я мб уже к какой-нибудь нормальной директиве типа using в объявлении.

object x = Foo();
if(
    x is A
    &&
    {
        //Компилятор сам переносит объявление куда нужно
        #using(var a, SCOPES_OUTER) = 5; 
        return true;
    }
)
{
    Console.WriteLine("{0}", a);
}


Определять тип в var из первого присваивания.
#using(var a, INFERENCE_LAZY);
a = 5;


склоняюсь для разнообразия. Не то чтобы оно было часто надо, но имхо одной фичей бы убили много зайцев. И в IDE анализировать возможные not initialized проще имхо.
Отредактировано 25.11.2014 21:28 agat50 . Предыдущая версия . Еще …
Отредактировано 25.11.2014 20:55 agat50 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.