2013-07-22 38 views
1
泛型方法調用

我想寫一個CodeAssignStatement它做了等同於以下:如何表示的CodeDOM

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

如何寫的CodeAssignStatement的RHS體現在哪裏?

到目前爲止,我只有:

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

回答

2

我想你想的CodeTypeReference是這樣的:(請注意,我還沒有完全測試這個,我剛剛創建的圖形 - 實際上並不渲染它以編碼)

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

剛剛嘗試過它:'GenerateCodeFromStatement'完全呈現所需的代碼。 :) –