Непонятный синтаксис
От: SteeLHeaD  
Дата: 30.03.17 07:40
Оценка:
Господа,
я извиняюсь за вероятно, очень простой вопрос,
но я не понимаю даже, как сформулировать запрс к поисковику, чтобы самому ответ найти.
Встретилась мне в коде строчка приммерно такого вида:

return new SingleIndicatorValue<T>(indicator, value) { IsFinal = isFinal, InputValue = this };


Если бы там было написано
return new SingleIndicatorValue<T>(indicator, value);

— то это было бы обычное "new чего то там"
Но вот эта ерунда в фигурных скобках после вроде бы законченного выражения — вызывает полное непонимание.
Что это за хрень? Как ЭТО называется хотя бы?

(ну я понимаю, именованные параметры: v = new MACD( LongPeriod:16, ShortPerid:9 );
Я понимаю — лямбды:
Action<string> AddToErrorBox0 = s0 => gList.Add(s0);
Но это то что такое?)
Re: Непонятный синтаксис
От: Doc Россия http://andrey.moveax.ru
Дата: 30.03.17 07:45
Оценка: +3
Здравствуйте, SteeLHeaD, Вы писали:

SLH>Но это то что такое?)


Object Initializer
https://msdn.microsoft.com/en-us/library/bb384062.aspx
Re: Непонятный синтаксис
От: vitz  
Дата: 30.03.17 07:45
Оценка:
Здравствуйте, SteeLHeaD, Вы писали:

Object Initializers
Re: Непонятный синтаксис
От: StatujaLeha на правах ИМХО
Дата: 30.03.17 07:49
Оценка:
Здравствуйте, SteeLHeaD, Вы писали:

var r = new SingleIndicatorValue<T>(indicator, value); 
r.IsFinal = isFinal;
r.InputValue = this;
return r;
Re: Непонятный синтаксис
От: yenik  
Дата: 30.03.17 07:49
Оценка:
SLH>
SLH>return new SingleIndicatorValue<T>(indicator, value) { IsFinal = isFinal, InputValue = this };
SLH>


класс типа такого
    class SingleIndicatorValue<T>
    {
        public SingleIndicatorValue(int i, int j){}
        public bool IsFinal { get; set; }
        public object InputValue { get; set; }
    }


вызывается конструктор и присваиваются свойства.
Re[2]: Непонятный синтаксис
От: SteeLHeaD  
Дата: 30.03.17 09:42
Оценка:
Здравствуйте, Doc, Вы писали:

Doc>Object Initializer


Большое спесибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.