Ho scritto un metodo che converte un elenco generico in un DataTable utilizzando FastMember da NuGet.Conversione di diversi elenchi di oggetti in un DataTable tramite FastMember
Questo è il mio codice:
public DataTable ConvertGenericListToDataTable(List<CustomObject> inputList)
{
var dt = new DataTable();
using (var reader = ObjectReader.Create(inputList))
{
dt.Load(reader);
}
return dt;
}
var customObject = new List<CustomObject>();
var dt = ListToDataTable.ConvertGenericListToDataTable(customObject);
che funziona bene. Customobject è un oggetto personalizzato che ho creato, ho diversi elenchi diversi che voglio passare al mio metodo: List<CustomobjectA>
o List<CustomobjectB>
e così via. Non è un grosso problema scrivere un metodo per ogni tipo di elenco che voglio convertire in un DataTable, ma questo potrebbe finire ripetendo sempre le stesse linee di codice, questo è qualcosa che ovviamente voglio evitare
Ho provato a modificare il tipo del parametro su List<object>
e List<dynamic>
. Quindi il mio codice non verrà compilato perché: "La migliore corrispondenza overloadmethod per ConvertGenericListToDataTable presenta alcuni argomenti non validi".
Esiste un modo per passare un elenco di oggetti come parametro senza definire il tipo esatto dell'oggetto?
Forse è possibile usare [generici] (http: // MSDN. microsoft.com/en-us/library/ms379564%28v=vs.80%29.aspx) – LuigiEdlCarno