我正在创建一个代码生成器。为了简化我遇到的问题,我如何使用多个声明修饰符生成一个类?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'通过文本对修饰符进行求和。但我不确定它会更清楚。 –