我正在創建一個代碼生成器。爲了簡化我遇到的問題,我如何使用多個聲明修飾符生成一個類?Roslyn如何使用多個聲明修飾符創建類
類發生器只添加一個宣言修改
this._syntaxGenerator = SyntaxGenerator.GetGenerator(workspace, LanguageNames.CSharp);
var classNode = this._syntaxGenerator.ClassDeclaration(classOptions.Name, null,
classOptions.InternalAccessModifier, DeclarationModifiers.Sealed)
.NormalizeWhitespace();
構造說我想創造一個密封的局部類或某事有多個宣言修飾符我該怎麼辦呢?
只要嘗試使用一些現有的修飾符並使用'WithIs **'重新創建一個新的。它看起來像這樣'var modifiers = DeclarationModifiers.Sealed.WithIsAbstract(true).WithIsStatic(true); '。之後,你只需要將它傳遞給'SyntaxGenerator.ClassDeclaration' –
啊,好吧,我希望能夠傳遞數組,l因爲我從文本解析它,我想我必須將所有東西都轉換爲代替列表。如果您將其作爲回答發佈,我會將其標記爲正確 –
'DeclarationsModifiers'覆蓋操作符,因此您可以使用'Expression'通過文本對修飾符進行求和。但我不確定它會更清楚。 –