0

我有一个将数据集转换为列表的通用方法。

public static List<T> ConvertDS<T>(DataSet ds, Converter<DataRow, T> converter)
        {
            return
                (from row in ds.Tables[0].AsEnumerable()
                 select converter(row)).ToList();
        }

但我不知道如何在上述函数中将参数传递给“转换器”。我有这样的列表 AddressInfo

List<AddressInfo> lstAddressInfo = new List<AddressInfo>();

lstAddressInfo =ConvertDS(ds,"What to send here")
4

2 回答 2

0

鉴于Converter<TIn, TOut>是一个代表,那么以下应该工作:

lstAddressInfo =ConvertDS(ds, (row) => {
    return new AddressInfo
    {
        Property1 = row["PropertyA"],
        ...
    };
});
于 2013-07-30T12:39:11.120 回答
0

尝试这个:

lstAddressInfo =ConvertDS(ds, convert)

public static AddressInfo convert (DataRow data)
{
 //function converting data
}

您需要指定转换DataRow为的方法并将其AddressInfo传递给新的Converter

编辑为 shambulator 和 James 建议

于 2013-07-30T12:33:35.593 回答