Информация об изменениях

Сообщение Re[3]: using UsingAlias<T>=NameSpace2.MyClass<T> от 16.02.2021 18:14

Изменено 16.02.2021 18:16 Silver_S

Re[3]: using UsingAlias<T>=NameSpace2.MyClass<T>
Здравствуйте, Kolesiki, Вы писали:

K>Заранее извините за оффтоп, но вот что мешало этим смуглым пи.... пижонам реализовать классический(!) оператор with? (который даже в VB есть!)


У них много Proposal на эту тему. Но не набирают достаточного количество лайков. То ли не было приемлемого.
Это даже не все, скорее всего:

Proposal: Add the ability to execute arbitrary code in instance initializers: https://github.com/dotnet/csharplang/issues/2556
Update several properties of a single object: https://github.com/dotnet/csharplang/issues/1449
Proposal: Beyond property initialization to code block initialization : https://github.com/dotnet/csharplang/issues/1243
[Proposal] Object initializers for factory methods #803 : https://github.com/dotnet/csharplang/issues/803

K>// ...элементарная конструкция:


Мне бы здесь больше понравилось со специальным скобками, чтобы не путать. Условно обозначил "{{"
var myVeryLargeUnsqueezableVariable = new SomeClass()
{{
    // здесь тоже может идти посторонний код, неважно
    .field1 = 1;
    .field2 = 2;
    .OnFart += SomebodyFarts;// sic!
}}
Re[3]: using UsingAlias<T>=NameSpace2.MyClass<T>
Здравствуйте, Kolesiki, Вы писали:

K>Заранее извините за оффтоп, но вот что мешало этим смуглым пи.... пижонам реализовать классический(!) оператор with? (который даже в VB есть!)


У них много Proposal на эту тему. Но не набирают достаточного количество лайков. То ли не было приемлемого.
Это даже не все, скорее всего:

Proposal: Add the ability to execute arbitrary code in instance initializers: https://github.com/dotnet/csharplang/issues/2556
Update several properties of a single object: https://github.com/dotnet/csharplang/issues/1449
Proposal: Beyond property initialization to code block initialization : https://github.com/dotnet/csharplang/issues/1243
[Proposal] Object initializers for factory methods #803 : https://github.com/dotnet/csharplang/issues/803

K>// ...элементарная конструкция:

K> with(var myVeryLargeUnsqueezableVariable = new SomeClass()) {

Мне бы здесь больше понравилось со специальным скобками, чтобы не путать. Условно обозначил "{{"
var myVeryLargeUnsqueezableVariable = new SomeClass()
{{
    // здесь тоже может идти посторонний код, неважно
    .field1 = 1;
    .field2 = 2;
    .OnFart += SomebodyFarts;// sic!
}}