You have a strong type generic list of any type
Dim lstPrest As List(Of Object) = ....
Use this function to convert it to a datatable using the properties in the object
Public Shared Function List2DataTable(dd As Object) As DataTable
Try
'get columns
Dim props() As System.Reflection.PropertyInfo = dd(0).GetType().GetProperties()
Dim table As New DataTable()
For i As Integer = 0 To props.Count - 1
Dim prop As System.Reflection.PropertyInfo = props(i)
table.Columns.Add(prop.Name, prop.PropertyType)
Next
'define values
Dim values As Object() = New Object(props.Count - 1) {}
'construct table
For Each item As Object In dd
For i As Integer = 0 To values.Length - 1
values(i) = props(i).GetValue(item, Nothing)
Next
table.Rows.Add(values)
Next
Return table
Catch ex As Exception
Throw New Exception("-Exception in " & New System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name & ":" & ex.Message)
End Try
End Function