[英]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.