''' <summary>
''' 将IList转换成DataSet
''' </summary>
''' <param name="lst"></param>
''' <param name="typ"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function ConvertIlistToDS(ByVal lst As IList, ByVal typ As System.Type) As DataSet
Dim obj As Object
Dim ds As New DataSet
Dim tbl As DataTable = ds.Tables.Add(typ.Name)
' Get the public properties.
Dim myPropertyInfo As System.Reflection.PropertyInfo() = typ.GetProperties((System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance))
Dim pi As System.Reflection.PropertyInfo
For Each pi In myPropertyInfo
tbl.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()))
Next
For Each obj In lst
Dim dr As DataRow = tbl.NewRow
For Each pi In myPropertyInfo
dr(pi.Name) = pi.GetValue(obj, Nothing)
Next
tbl.Rows.Add(dr)
Next
Return ds
End Function
'调用
'SaleDetails为自定义类
MyPub.ConvertIlistToDS(SaleBufferList, GetType(SaleDetails))