我有一个将数据集转换为列表的通用方法。
public static List<T> ConvertDS<T>(DataSet ds, Converter<DataRow, T> converter)
{
return
(from row in ds.Tables[0].AsEnumerable()
select converter(row)).ToList();
}
但我不知道如何在上面的函数中将参数传递给“converter”。 我有这样的列表AddressInfo
List<AddressInfo> lstAddressInfo = new List<AddressInfo>();
lstAddressInfo =ConvertDS(ds,"What to send here")
答案 0 :(得分:0)
试试这个:
lstAddressInfo =ConvertDS(ds, convert)
public static AddressInfo convert (DataRow data)
{
//function converting data
}
您需要指定将DataRow
转换为AddressInfo
并将其传递给新Converter
的方法
编辑为shambulator,James建议
答案 1 :(得分:0)
鉴于Converter<TIn, TOut>
是委托,则以下内容应该有效:
lstAddressInfo =ConvertDS(ds, (row) => {
return new AddressInfo
{
Property1 = row["PropertyA"],
...
};
});