Сообщение Re[3]: using UsingAlias<T>=NameSpace2.MyClass<T> от 24.02.2021 13:29
Изменено 25.02.2021 10:22 Silver_S
Re[3]: using UsingAlias<T>=NameSpace2.MyClass<T>
Здравствуйте, Kolesiki, Вы писали:
K>
Пока With отсутствует, надо хотя бы используя то что есть, приближать к тому что хочется. Лучше такие куски заключать в скобки — видна структура, особенно если больше одного уровня, и для промежуточных переменных ограничивается видимость. И не обязательно придумывать имена, подойдет "_". Для вложенного уровня можно двойной "__".
Или даже форматировать так. Поначалу может показаться криво, потом это "{var _=" воспринимается как ключевое слово With, хорошо выделяется заголовок, более читабельно.
K>
// Вместо тысячи слов....
var myVeryLargeUnsqueezableVariable = new SomeClass();
// здесь идёт некоторый код, т.е. мы НЕ МОЖЕМ использовать "инициализацию-при-создании". Далее...
myVeryLargeUnsqueezableVariable.field1 = 1;
myVeryLargeUnsqueezableVariable.field2 = 2;
myVeryLargeUnsqueezableVariable.OnFart += SomebodyFarts;
Пока With отсутствует, надо хотя бы используя то что есть, приближать к тому что хочется. Лучше такие куски заключать в скобки — видна структура, особенно если больше одного уровня, и для промежуточных переменных ограничивается видимость. И не обязательно придумывать имена, подойдет "_". Для вложенного уровня можно двойной "__".
var myVeryLargeUnsqueezableVariable = new SomeClass();
{
var _ = myVeryLargeUnsqueezableVariable;
_.field1 = 1;
_.field2 = 2;
_.OnFart += SomebodyFarts;// sic!
}
Или даже форматировать так. Поначалу может показаться криво, потом это "{var _=" воспринимается как ключевое слово With, хорошо выделяется заголовок, более читабельно.
var myVeryLargeUnsqueezableVariable = new SomeClass();
{var _= myVeryLargeUnsqueezableVariable;
_.field1 = 1;
_.field2 = 2;
_.OnFart += SomebodyFarts;// sic!
}
Re[3]: using UsingAlias<T>=NameSpace2.MyClass<T>
Здравствуйте, Kolesiki, Вы писали:
K>
Пока With отсутствует, надо хотя бы используя то что есть, приближать к тому что хочется. Лучше такие куски заключать в скобки — видна структура, особенно если больше одного уровня, и для промежуточных переменных ограничивается видимость. И не обязательно придумывать имена, подойдет "_". Для вложенного уровня можно двойной "__".
Или даже форматировать так. Поначалу может показаться криво, потом это "{var _=" воспринимается как ключевое слово With, хорошо выделяется заголовок, более читабельно.
Аналогично для синтаксиса выражений. Если отформатировать без пробелов "}.With(_=>{" , когда привыкнешь, оно выглядит как ключевое слово в виде символа-иероглифа. Означает продолжение инициализации с синтаксисом без ограничений.
K>
// Вместо тысячи слов....
var myVeryLargeUnsqueezableVariable = new SomeClass();
// здесь идёт некоторый код, т.е. мы НЕ МОЖЕМ использовать "инициализацию-при-создании". Далее...
myVeryLargeUnsqueezableVariable.field1 = 1;
myVeryLargeUnsqueezableVariable.field2 = 2;
myVeryLargeUnsqueezableVariable.OnFart += SomebodyFarts;
Пока With отсутствует, надо хотя бы используя то что есть, приближать к тому что хочется. Лучше такие куски заключать в скобки — видна структура, особенно если больше одного уровня, и для промежуточных переменных ограничивается видимость. И не обязательно придумывать имена, подойдет "_". Для вложенного уровня можно двойной "__".
var myVeryLargeUnsqueezableVariable = new SomeClass();
{
var _ = myVeryLargeUnsqueezableVariable;
_.field1 = 1;
_.field2 = 2;
_.OnFart += SomebodyFarts;// sic!
}
Или даже форматировать так. Поначалу может показаться криво, потом это "{var _=" воспринимается как ключевое слово With, хорошо выделяется заголовок, более читабельно.
var myVeryLargeUnsqueezableVariable = new SomeClass();
{var _= myVeryLargeUnsqueezableVariable;
_.field1 = 1;
_.field2 = 2;
_.OnFart += SomebodyFarts;// sic!
}
Аналогично для синтаксиса выражений. Если отформатировать без пробелов "}.With(_=>{" , когда привыкнешь, оно выглядит как ключевое слово в виде символа-иероглифа. Означает продолжение инициализации с синтаксисом без ограничений.
new A
{
Field1 = 1,
FieldN = 1,
}.With(_=>{
_.Event1 += F1;
});