NuGetの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>
andに変更してみましたList<dynamic>
。次に、「ConvertGenericListToDataTable に最適なオーバーロード メソッドに無効な引数がいくつか含まれている」ため、コードはコンパイルされません。
オブジェクトの正確なタイプを定義せずに、オブジェクトのリストをパラメーターとして渡す方法はありますか?