本來以為這應該是 Reflection 裡的功能,沒想到找了半天找不到
原來兇手是 Activator 物件
System.Type type = this.GetType();
TSource vm = (TSource)System.Activator.CreateInstance(type, new object[] { this.UserID });
//TSource vm = new TSource(this.UserID);
foreach(DataTable dt in view.Tables)
{
DataTable dtDest = vm.view.Tables[dt.TableName];
foreach (DataRow dr in dt.Rows)
{
if (dr.RowState == DataRowState.Unchanged) continue;
DataRow drDest = dtDest.NewRow();
drDest.FillWith(dr);
dtDest.Rows.Add(drDest);
}
}
return vm;
上面的 Code 主要是要在 父類別中 Create 出子類別的 Instance
還是有更簡單的辦法呀??
沒有留言:
張貼留言