System.Linq.Dynamic调用操作

时间:2018-02-21 21:12:12

标签: c# linq

我正在使用System.Linq.Dynamic动态调用动作,附在我的代码下面。

 void InvokeAction(object gv, string lambda) {
 var e = myalias.DynamicExpression.ParseLambda(gv.GetType(), null, lambda);
 e.Compile().DynamicInvoke(gv);
}

var gv = new GridView();
gv.DataSource = (new int[] {
 1,
 2,
 3,
 4,
 5
}).Select(p => new {
 f1 = "f1", f2 = "f2", f3 = "f3"
});
gv.DataBind();
InvokeAction(gv, "HeaderRow.Cells[0].Text = \"a\"");
// Runs fine , but does not update the value
InvokeAction(gv, "HeaderStyle.BackColor = System.Drawing.Color.White");
// Gives exception No property or field 'System' exists in type 'GridView'

第一次调用InvokeAction运行正常,但不更新值。 第二次调用InvokeAction会抛出异常

  

没有财产或字段'系统'存在于类型' GridView'

0 个答案:

没有答案