Questo è qualcosa che ho risolto usando il reflection, ma vorrei vedere come farlo usando gli alberi di espressione.Come posso usare un albero di espressioni per chiamare un metodo generico quando il tipo è noto solo al runtime?
Ho una funzione generica:
private void DoSomeThing<T>(param object[] args) {
// Some work is done here.
}
che ho bisogno di chiamare da un'altra parte nella mia classe. Ora, normalmente, questo sarebbe essere semplice:
DoSomeThing<int>(blah);
ma solo se lo so, in fase di progettazione che sto lavorando con una int
. Quando non conosco il tipo fino al runtime è dove ho bisogno dell'aiuto. Come ho detto, so come farlo attraverso la riflessione, ma mi piacerebbe farlo attraverso gli alberi di espressione, poiché la mia comprensione (molto limitata) è che posso farlo.
Eventuali suggerimenti o punti ai siti in cui è possibile ottenere questa comprensione, preferibilmente con codice di esempio?
Come ho detto, io so come farlo attraverso la riflessione. Sto tentando di fare attraverso gli alberi di espressione. –
Lo stesso, non è vero? Mi sto perdendo qualcosa? (Risposta aggiornata) – leppie