C#, Roslynのサンプルを追加

[github] https://github.com/chronos2015/samples/tree/master/cs/codes/07.Roslyn

Roslynでhello,worldくらいのソースコードを生成するサンプルを作成

ex)

namespaceを定義する場合

var nameapace = SyntaxFactory.NamespaceDeclaration(SyntaxFactory.ParseName(" sample"));

クラスを定義する場合

var classDesc = SyntaxFactory.ClassDeclaration("Program").AddModifiers(SyntaxFactory.Token(SyntaxKind.PublicKeyword))

総称型を定義する場合

var classDesc = SyntaxFactory.ClassDeclaration("Program").AddTypeParameterListParameters(SyntaxFactory.TypeParameter("T")).AddModifiers(SyntaxFactory.Token(SyntaxKind.PublicKeyword))

メソッドを定義する場合

var methodDesc = SyntaxFactory.MethodDeclaration(SyntaxFactory.ParseTypeName("void"), "Main").AddModifiers(SyntaxFactory.Token(SyntaxKind.StaticKeyword))
.AddParameterListParameters(SyntaxFactory.Parameter(SyntaxFactory.Identifier("args")).WithType(SyntaxFactory.ParseTypeName(typeof(string[]).FullName)))

こんな感じで少し面倒って感じる…

コメントを残す

メールアドレスが公開されることはありません。