Il modo più semplice per spiegare cosa intendo è con un esempio di codice. Questo non si compila, ma c'è un modo per ottenere questo effetto:Puoi usare i metodi generici in C# se il tipo è sconosciuto fino al runtime?
foreach(Type someType in listOfTypes)
{
SomeMethod<someType>();
}
sarebbe veramente conveniente se che avrebbe funzionato, ma non è così. C'è un altro modo per ottenere la stessa cosa di cui sopra, e perché C# non consente che ciò sia una dichiarazione legale?
Modifica: Sembra che l'unico modo per farlo sia attraverso la riflessione che potrebbe essere troppo lenta per le nostre esigenze. Qualche idea sul perché non è stato creato un modo efficiente e se qualcosa del genere è in lavorazione per C# 4.0?
Non sono sicuro di cosa stai cercando di ottenere qui. Potresti fornire più contesto e/o una spiegazione di ciò che SomeMethod deve fare (e perché deve farlo per un elenco di tipi), per favore? – Noldorin
Sì, puoi farlo con la riflessione come altri hanno già detto ma tieni presente che la riflessione è sanguinosa. Se le prestazioni sono importanti nel tuo caso, considera un altro approccio. –
Ho bisogno di indicizzare tutti i tipi nel nostro database degli oggetti senza preoccuparmi di quando vengono aggiunti o rimossi nuovi tipi, ecc. – Davy8