これは、roslyn で列挙型を作成する方法です。
class Program
{
static void Main(string[] args)
{
var member1 = Syntax.EnumMemberDeclaration(
identifier: Syntax.Identifier("Member1")
);
var declaration = Syntax.EnumDeclaration(
identifier: Syntax.Identifier("MyEnum"),
modifiers: Syntax.TokenList(Syntax.Token(SyntaxKind.PublicKeyword)),
members: Syntax.SeparatedList(member1)
);
Console.WriteLine(declaration.Format());
Console.ReadLine();
}
}
これは次を返します:
public enum MyEnum
{
Member1
}
あなたの質問に対して、これがあなたが本当に必要としているものかどうかはわかりません。
まず、プリコンパイル時にこれを行うための組み込み機能はまだないと思うので、コンソール exe を作成してプリビルド イベントで呼び出す必要があります。
したがって、この時点では、これらのテーブルが頻繁に変更されない限り、すべてのビルドではなく、コード生成を介して手動でこれを行うことをお勧めします。
この場合、roslyn を使用する必要はありません。任意のコード生成ソフトウェアで吐き出すか、独自のロールを作成することができます...