Domanda

Sto cercando di assegnare un metodo (funzione) a un ExpespOObject con questa firma:

public List<string> CreateList(string input1, out bool processingStatus)
{
  //method code...
}

Ho provato a fare qualcosa di simile a questo codice sotto il quale non si compila:

dynamic runtimeListMaker = new ExpandoObject();
runtimeListMaker.CreateList =
     new Func<string, bool, List<string>>(
           (input1, out processingStatus) =>
                {
                     var newList = new List<string>();

                     //processing code...

                     processingStatus = true;
                     return newList;
                });

Sfortunatamente non posso cambiare la firma del Createlist perché romperà la compatibilità all'indietro, quindi riscrivere non è un'opzione. Ho provato a aggirare questo usando i delegati ma in fase di esecuzione, ho avuto un'eccezione "non posso invocare un'eccezione di tipo non delegato". Immagino che questo significhi che non sto assegnando correttamente il delegato. Ho bisogno di aiuto per ottenere la sintassi corretta (anche gli esempi delegati sono ok). Grazie!!

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top