top of page

экзотический код C#

  • Фото автора: Алик Ким
    Алик Ким
  • 22 сент. 2022 г.
  • 1 мин. чтения

Век живи - век учись!



var b = new B

{

A = { MyProperty = 123 }

};


если что, это - валидный код C#


какое то время назад встретил подобное в проекте, над которым работал, не понял, как такое возможно.

сейчас, вот , выяснил, оказывается , это - фича языка Nested Initializer

В данном случае будет работать, если A уже проинициализировано в конструкторе класса B.

много дивного на свете!



public class A

{

public int MyProperty { get; set; }

}


public class B

{

public A A { get; set; } = new A();

}


static void Main(string[] args)

{

var b = new B

{

A = { MyProperty = 123 }

};

Console.WriteLine(b.A.MyProperty);

Console.WriteLine("DONE");

}


 
 
 

Недавние посты

Смотреть все

Comentarios


Околокомпьютерный блог Алика

  • alt.text.label.Facebook

© Околокомпьютерный блог Алика , 2022. Сайт создан на Wix.com

bottom of page