0

私は DSL を使用していくつかの CS クラスを生成して読み取る必要があり、EnvDTE を使用して CS ファイルを読み取る方法を 1 つ採用し、同僚は 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

4

2 に答える 2

0

EnvDTE を使用すると、CodeDOM のように AST を操作できるかどうかわかりません。別のオープン ソース C# パーサー/ジェネレーターであるSharpDevelopプロジェクトのCodeDOM または NRefactory を使用します。

于 2009-08-25T13:43:26.200 に答える
0

CodeDOM には、ソース コードを読み取って AST を生成する方法がありません。C# を生成するだけでよい場合は、CodeDOM が .NET フレームワークに同梱されているため、アプリケーションに Visual Studio をインストールする必要はありません。

于 2009-10-25T22:02:28.167 に答える