DatatableExtensionsを使用してDatatableからListに変換しています。ここで、通常のListプロパティに行を追加しようとすると、正常に機能します。しかし、リスト内のリストを使用すると、問題が発生します。プロパティに値を設定できません。
private static T CreateItemFromRow<T>(DataRow row, IList<PropertyInfo> properties) where T : new()
{
T item = new T();
foreach (var property in properties)
{
if (property.Name.Equals("ProductSpec"))
{
Type t = property.GetType();
// i am getting error when i am trying to do this
property.SetValue(item, ProductSpecIteration(property, row), null);
}
if (row.Table.Columns.Contains(property.Name))
{
property.SetValue(item, row[property.Name] == DBNull.Value?"":row[property.Name], null);
}
}
return item;
}
private static ProductSpec ProductSpecIteration(PropertyInfo property, DataRow row)
{
ProductSpec lstProductSpec = new ProductSpec();
lstProductSpec.product_specs_id = Convert.ToInt64(row["product_specs_id"]);
return lstProductSpec;
}
私はこれを一般的に行うことはできません。しかし、私でさえこの拡張機能にこれを追加することはできませんか?誰かがこの状況から私を助けることができますか