簡體   English   中英

生成代碼時,EnvDTE或CodeDom之間有區別嗎

[英]Are there differences between EnvDTE or CodeDom when generating Code

我有使用DSL生成和讀取一些CS類的要求,我采用了一種使用EnvDTE讀取CS文件的方法,而我的同事已經使用CodeDom生成了CS文件。

只是糖還是兩者之間有很大區別?

codeClass.AddFunction("DoSomething", vsCMFunction.vsCMFunctionFunction, "bool");

     CodeMemberMethod membMethod = new CodeMemberMethod();
        membMethod.Attributes = MemberAttributes.Static;
        membMethod.ReturnType = new CodeTypeReference("bool");
        membMethod.Name = "DoSomething";

我主觀上更喜歡EnvDTE,但不知道“真正”的區別是什么。

信息:C#,Visual Studio 2010

使用EnvDTE,我不確定您是否可以像使用CodeDOM一樣操作AST。 我將使用CodeDOM或SharpDevelop項目中的NRefactory,它是另一個開源C#解析器/生成器。

CodeDOM沒有讀取源代碼以生成AST的方法。 如果您需要做的只是生成C#,則CodeDOM隨.NET框架一起提供,因此您的應用程序將不需要安裝Visual Studio。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM