你能告诉我如何使用CodeDOM (.net)来做下面这样的语句吗?
_myClass.Configure("MyNode").Action("param1", "param2");谢谢。
发布于 2012-07-19 03:22:23
假设_myClass是您正在使用的类中的一个字段,您可以通过引用该字段来构建图形。
CodeExpression fieldReferenceExpression = new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass")然后,使用字符串值"MyNode“的原始表达式作为参数调用字段上的Configure方法。
CodeExpression configureInvokeExpression = new CodeMethodInvokeExpression(
new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass"),
"Configure",
new CodePrimitiveExpression("MyNode"))最后,您将使用该表达式调用操作方法,并使用"param1“和"param2”作为参数。
CodeExpression actionInvokeExpression = new CodeMethodInvokeExpression(
new CodeMethodInvokeExpression(
new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass"),
"Configure",
new CodePrimitiveExpression("MyNode")),
"Action",
new CodePrimitiveExpression("param1"),
new CodePrimitiveExpression("param2"));使用CSharpCodeProvider,这将生成:
this._myClass.Configure("MyNode").Action("param1", "param2")https://stackoverflow.com/questions/10517474
复制相似问题