iT邦幫忙

0

關於C#動態生成程式碼問題請教

c#
  • 分享至 

  • xImage

最近正在做動態生成程式碼的功能
先前有問過,後來改成CSharpCodeProvider的方式來達成
目前屬性欄位都已成功建立

       //用於構造函數的參數
         CodeParameterDeclarationExpression p = new CodeParameterDeclarationExpression(typeof(DataRow), "row");
       // 建構函數
          CodeConstructor cconstructor = new CodeConstructor();
          cconstructor.Attributes = MemberAttributes.Public;              
          cconstructor.Parameters.Add(p);
          ctype.Members.Add(cconstructor);

這段可以建立一段建構涵式
目前也可以建立,只是我希望裡面能加一些內容
像是

    if (row.Table.Columns.Contains("CID")) CID = row["CID"].ToString();

最後可能就大概是這樣

 public NIS_MCPRRec(DataRow row)
 {
      if (row.Table.Columns.Contains("CID")) CID = row["CID"].ToString();
        ...
        ...
        ...
        ...
 }

想請問我該如何增加呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
fillano
iT邦超人 1 級 ‧ 2021-11-17 16:50:19

好像很好玩XD,但是我沒做過喔,只是幫你找資料:
https://docs.microsoft.com/zh-tw/dotnet/framework/reflection-and-codedom/how-to-create-a-class-using-codedom

有一些建立statement與expression的範例,先大致上搞清楚怎麼寫出程式碼的。

然後看一下reference:
https://docs.microsoft.com/zh-tw/previous-versions/dotnet/netframework-4.0/f1dfsbhc(v=vs.100)

看看有哪些statement跟expression等可以用來建立程式碼的。

tenno081 iT邦研究生 4 級 ‧ 2021-11-17 17:16:56 檢舉

我是參考這個網站

https://lawrencetech.blogspot.com/2011/06/blog-post_7.html

這個可能比官網還好用XD
目前我是已經建立出來了
也有稍微做調整,就只剩下在涵式裡加其他內容

我要發表回答

立即登入回答