如何在CodeDOM中表示泛型方法调用

时间:2013-07-22 10:53:38

标签: c# codedom

我正在尝试编写一个CodeAssignStatement来执行与以下内容相同的操作:

this.Foo = row.Field<string>(0);

如何为CodeAssignStatement

编写RHS表达式

到目前为止我只有:

CodeAssignStatement cas = new CodeAssignStatement();
cas.Left = new CodePropertyReferenceExpression(new CodeThisReferenceExpression(), "Foo");
cas.Right = ??!

1 个答案:

答案 0 :(得分:2)

我认为你想要CodeTypeReference这样的东西:(请注意,我没有完全测试过,我刚刚创建了图形 - 实际上没有将其渲染为代码)

cas.Right = new CodeMethodInvokeExpression(
    new CodeMethodReferenceExpression(
        new CodeVariableReferenceExpression("row"),
        "Field",
        new CodeTypeReference("System.String")),
    new CodePrimitiveExpression(0));