item
будет PropertyInfo
. Вы бы использовали:
object value = item.GetValue(obj, null);
Обратите внимание, что вы в значительной степени игнорируете параметр типа TEntity
в данный момент. Вы можете использовать:
foreach (var property in typeof(TEntity).GetProperties())
Таким образом, если кто-то звонит
SQLInsert<Customer>(customer)
и значение customer
на самом деле относится к подклассу Customer
с дополнительными свойствами, будут использоваться только свойства Customer
.