C # Bloomberg: как перебрать массив, создать объекты инструментов и добавить в класс инструментов - PullRequest
0 голосов
/ 14 февраля 2019

Я работаю над использованием кода веб-сервисов Bloomberg C # для загрузки информации об инвестициях.

Я пытаюсь найти правильный способ загрузки нескольких инструментов одновременно, используя строковый массив.Инструментальный элемент класса инструментов представляет собой массив объектов Instrument.Вы должны создать отдельный объект инструмента для каждого запрашиваемого инструмента и добавить каждый объект в массив.Тем не менее, я все еще довольно новичок в C #, и я изо всех сил пытаюсь найти правильный способ добавить несколько объектов инструментов в класс инструментов.Приведенный ниже код просто возвращает последние инвестиции в массив, поскольку последняя строка в цикле, кажется, заменяет предыдущий объект инвестиций.

Любая помощь приветствуется.

Спасибо.

 string[] investments = { "BBG000BHGCD1", "BBG000BB2PW9" };

             Instruments instruments = new Instruments();

             foreach (string inv in investments)
             {
                 Instrument instr = new Instrument();
                 instr.id = inv;
                 instr.yellowkeySpecified = false;
                 instr.typeSpecified = true;
                 instr.type = InstrumentType.BB_GLOBAL;
                 instruments.instrument = new Instrument[] { instr };
             }


             // Submitting request
             SubmitGetActionsRequest req = new SubmitGetActionsRequest();
             req.headers = getActionHeaders;
             req.instruments = instruments;

             submitGetActionsRequestRequest subGetActReqReq = new 
 submitGetActionsRequestRequest(req);

1 Ответ

0 голосов
/ 14 февраля 2019

Измените ваш цикл на это:

        Instruments instruments = new Instruments();

        var myList = new List<Instrument>();

        foreach (string inv in investments)
        {
            myList.Add(new Instrument
            {
                id = inv,
                yellowkeySpecified = false,
                typeSpecified = true,
                type = InstrumentType.BB_GLOBAL
            });

        }

        instruments.instrument = myList.ToArray();
...