0
你能說我怎麼可以做下面的語句使用CodeDOM(.net)?CodeDom方法的序列
_myClass.Configure("MyNode").Action("param1", "param2");
謝謝。
你能說我怎麼可以做下面的語句使用CodeDOM(.net)?CodeDom方法的序列
_myClass.Configure("MyNode").Action("param1", "param2");
謝謝。
假設_myClass是您正在使用的類中的字段,您可以通過對該字段進行引用來構建圖。
CodeExpression fieldReferenceExpression = new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass")
然後,您將調用字段值爲「MyNode」的基本表達式作爲參數的字段上的Configure方法。
CodeExpression configureInvokeExpression = new CodeMethodInvokeExpression(
new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass"),
"Configure",
new CodePrimitiveExpression("MyNode"))
最後,你會使用表達式來調用Action方法,採用「參數1」和「參數2」作爲參數的原始表達式。
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")