动态绑定:动态获取字段

时间:2013-12-27 01:30:08

标签: c#

我一直在编写一个将IEnumerable转换为数据表的通用方法:

public static DataTable DataCast (Type t) {
    DataTable dt = new DataTable();
    dynamic Data = DataBase.GetTable(t); // this is Linq to SQL DataContext.GetTable();
    var Fields = t.GetFields();
    foreach (var i in Data) {
        dt.Rows.Add();
        for (int y = 0; y < Fields.Length; y++) {
            String F = Fields[y].Name.Split('.').Last();
            // Stuck at this part dt.Columns.Add(i.F);                                     
        }
    }  
    return dt;
}

我想知道是否有任何方法可以根据i的值获取F的字段。

1 个答案:

答案 0 :(得分:1)

改为使用FieldInfo.GetValue(instance)方法:

for (int y = 0; y < Fields.Length; y++) {
    dt.Columns.Add(Fields[y].GetValue(i));
}