2 votes

C# Bloomberg: Comment parcourir un tableau, créer des objets d'instruments et les ajouter à la classe des instruments

Je travaille sur l'utilisation du code des services web C# de Bloomberg pour télécharger des informations sur les investissements.

Je lutte pour trouver la bonne façon de télécharger plusieurs instruments en même temps en utilisant un tableau de chaînes. Le membre instrument de la classe instruments est un tableau d'objets Instrument. Vous devez créer un objet instrument individuel pour chaque instrument demandé et ajouter chaque objet au tableau. Cependant, je suis encore assez nouveau en C# et j'ai du mal à trouver la bonne façon d'ajouter plusieurs objets instrument à la classe instruments. Le code ci-dessous retourne simplement le dernier investissement dans le tableau puisque la dernière ligne de la boucle semble remplacer l'objet d'investissement précédent.

Toute aide est appréciée.

Merci.

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 };
             }

             // Soumission de la requête
             SubmitGetActionsRequest req = new SubmitGetActionsRequest();
             req.headers = getActionHeaders;
             req.instruments = instruments;

             submitGetActionsRequestRequest subGetActReqReq = new 
             submitGetActionsRequestRequest(req);

1voto

matt-dot-net Points 3024

Changez votre boucle à ceci :

        Instruments instruments = new Instruments();

        var myList = new List();

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

        }

        instruments.instrument = myList.ToArray();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X