我已經編寫了一個方法,使用來自NuGet的FastMember將通用列表轉換爲DataTable。使用FastMember將不同的對象列表轉換爲DataTable
這是我的代碼:
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);
工作正常。 Customobject是我創建的自定義對象,我有幾個不同的列表,我想傳遞給我的方法:List<CustomobjectA>
或List<CustomobjectB>
等等。 它沒有太大的問題,寫一個方法,我想要轉換爲DataTable的每種類型的列表,但這可能會一遍又一遍地重複相同的代碼行,這是我顯然想要防止
我試着將參數的類型改爲List<object>
和List<dynamic>
。 然後我的代碼不會編譯,因爲:「ConvertGenericListToDataTable的最佳過載方法匹配有一些無效的參數」。
有沒有辦法將對象列表作爲參數傳遞給對象,而無需定義對象的確切類型?
也許你可以使用[泛型](HTTP:// MSDN。 microsoft.com/en-us/library/ms379564%28v=vs.80%29.aspx) – LuigiEdlCarno