0
CodeDOM(.net)を使用して以下のようなステートメントを実行する方法を教えてください。CodeDomメソッドのシーケンス
_myClass.Configure("MyNode").Action("param1", "param2");
ありがとうございます。
CodeDOM(.net)を使用して以下のようなステートメントを実行する方法を教えてください。CodeDomメソッドのシーケンス
_myClass.Configure("MyNode").Action("param1", "param2");
ありがとうございます。
あなたが作業しているクラスのフィールドであると仮定すると、フィールドへの参照を作成してグラフを作成します。
CodeExpression fieldReferenceExpression = new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass")
次に、あなたは、パラメータとして文字列値「MYNODE」の基本式で、フィールド上のConfigureメソッドを呼び出すと思います。
CodeExpression configureInvokeExpression = new CodeMethodInvokeExpression(
new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass"),
"Configure",
new CodePrimitiveExpression("MyNode"))
最後に、あなたは、パラメータとして「パラメータ1」と「PARAM2」の原始的な表現を使用して、アクションメソッドを呼び出すためにその式を使用すると思います。 CSharpCodeProviderを使用
CodeExpression actionInvokeExpression = new CodeMethodInvokeExpression(
new CodeMethodInvokeExpression(
new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "_myClass"),
"Configure",
new CodePrimitiveExpression("MyNode")),
"Action",
new CodePrimitiveExpression("param1"),
new CodePrimitiveExpression("param2"));
、これは生成:
this._myClass.Configure("MyNode").Action("param1", "param2")