SyntaxGenerator 类

定义

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

public ref class SyntaxGenerator abstract : Microsoft::CodeAnalysis::Host::ILanguageService
public abstract class SyntaxGenerator : Microsoft.CodeAnalysis.Host.ILanguageService
type SyntaxGenerator = class
    interface ILanguageService
Public MustInherit Class SyntaxGenerator
Implements ILanguageService
继承
SyntaxGenerator
实现

构造函数

SyntaxGenerator()

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

字段

DefaultRemoveOptions

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

方法

AddAccessors(SyntaxNode, IEnumerable<SyntaxNode>)

使用添加访问器创建 声明的新实例。

AddAttributeArguments(SyntaxNode, IEnumerable<SyntaxNode>)

使用添加的参数创建 特性的新实例。

AddAttributes(SyntaxNode, IEnumerable<SyntaxNode>)

使用添加的指定属性创建声明的新实例。

AddAttributes(SyntaxNode, SyntaxNode[])

使用添加的指定属性创建声明的新实例。

AddBaseType(SyntaxNode, SyntaxNode)

向声明添加基类型

AddEventHandler(SyntaxNode, SyntaxNode)

创建一个语句,该语句将给定的处理程序添加到给定事件中。

AddExpression(SyntaxNode, SyntaxNode)

创建表示加法运算的表达式。

AddInterfaceType(SyntaxNode, SyntaxNode)

向声明添加接口类型

AddMembers(SyntaxNode, IEnumerable<SyntaxNode>)

创建声明的新实例,并将成员添加到 末尾。

AddMembers(SyntaxNode, SyntaxNode[])

创建声明的新实例,并将成员添加到 末尾。

AddNamespaceImports(SyntaxNode, IEnumerable<SyntaxNode>)

使用添加的命名空间导入创建 声明的新实例。

AddNamespaceImports(SyntaxNode, SyntaxNode[])

使用添加的命名空间导入创建 声明的新实例。

AddParameters(SyntaxNode, IEnumerable<SyntaxNode>)

将参数添加到声明中。

AddReturnAttributes(SyntaxNode, IEnumerable<SyntaxNode>)

创建添加了返回属性的方法声明的新实例。

AddReturnAttributes(SyntaxNode, SyntaxNode[])

创建添加了返回属性的方法声明节点的新实例。

AddSwitchSections(SyntaxNode, IEnumerable<SyntaxNode>)

将 switch 节添加到 语句。

AliasImportDeclaration(String, INamespaceOrTypeSymbol)

创建别名导入声明。

AliasImportDeclaration(String, SyntaxNode)

创建别名导入声明。

Argument(RefKind, SyntaxNode)

创建一个节点,该节点是调用的参数。

Argument(String, RefKind, SyntaxNode)

创建一个节点,该节点是调用的参数。

Argument(SyntaxNode)

创建一个节点,该节点是调用的参数。

ArrayCreationExpression(SyntaxNode, IEnumerable<SyntaxNode>)

为具有指定初始元素值的一维数组创建表达式。

ArrayCreationExpression(SyntaxNode, SyntaxNode)

为指定大小的一维数组创建数组创建表达式。

ArrayTypeExpression(SyntaxNode)

创建表示数组类型的表达式。

AsPrivateInterfaceImplementation(SyntaxNode, SyntaxNode)

将方法、属性和索引器声明转换为专用接口实现。 这等效于 C# 显式接口实现, (你可以声明它以便通过 接口进行访问,但不能直接) 调用它。

AsPrivateInterfaceImplementation(SyntaxNode, SyntaxNode, String)

将方法、属性和索引器声明转换为专用接口实现。 这等效于 C# 显式接口实现, (你可以声明它以便通过 接口进行访问,但不能直接) 调用它。

AsPublicInterfaceImplementation(SyntaxNode, SyntaxNode)

将方法、属性和索引器声明转换为公共接口实现。 这等效于隐式 C# 接口实现, (可以通过 接口或直接通过命名 member.)

AsPublicInterfaceImplementation(SyntaxNode, SyntaxNode, String)

将方法、属性和索引器声明转换为公共接口实现。 这等效于隐式 C# 接口实现, (可以通过 接口或直接通过命名 member.)

AssignmentStatement(SyntaxNode, SyntaxNode)

创建表示从右参数到左参数的赋值的表达式。

Attribute(AttributeData)

创建与现有属性数据匹配的属性。

Attribute(String, IEnumerable<SyntaxNode>)

创建属性。

Attribute(String, SyntaxNode[])

创建属性。

Attribute(SyntaxNode, IEnumerable<SyntaxNode>)

创建属性。

AttributeArgument(String, SyntaxNode)

创建特性参数。

AttributeArgument(SyntaxNode)

创建特性参数。

AwaitExpression(SyntaxNode)

创建 await 表达式。

BaseExpression()

创建表示包含方法的基参数的表达式。

BitwiseAndExpression(SyntaxNode, SyntaxNode)

创建表示按位和 运算的表达式。

BitwiseNotExpression(SyntaxNode)

创建表示按位非运算的表达式

BitwiseOrExpression(SyntaxNode, SyntaxNode)

创建表示按位或运算的表达式。

CastExpression(ITypeSymbol, SyntaxNode)

创建表示类型强制转换操作的表达式。

CastExpression(SyntaxNode, SyntaxNode)

创建表示类型强制转换操作的表达式。

CatchClause(ITypeSymbol, String, IEnumerable<SyntaxNode>)

创建 catch 子句。

CatchClause(SyntaxNode, String, IEnumerable<SyntaxNode>)

创建 catch 子句。

ClassDeclaration(String, IEnumerable<String>, Accessibility, DeclarationModifiers, SyntaxNode, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建类声明。

ClearTrivia<TNode>(TNode)

创建节点的新实例,删除前导和尾随琐事并将其替换为弹性标记。

CoalesceExpression(SyntaxNode, SyntaxNode)

创建表示合并操作的表达式。

CompilationUnit(IEnumerable<SyntaxNode>)

创建编译单元声明

CompilationUnit(SyntaxNode[])

创建编译单元声明

ConditionalAccessExpression(SyntaxNode, SyntaxNode)

创建表示条件访问操作的表达式。 使用 MemberBindingExpression(SyntaxNode)ElementBindingExpression(IEnumerable<SyntaxNode>) 生成 whenNotNull 参数。

ConditionalExpression(SyntaxNode, SyntaxNode, SyntaxNode)

创建表示条件计算操作的表达式。

ConstructorDeclaration(IMethodSymbol, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

使用 创建构造函数声明

ConstructorDeclaration(String, IEnumerable<SyntaxNode>, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建构造函数声明。

ConvertExpression(ITypeSymbol, SyntaxNode)

创建表示类型转换操作的表达式。

ConvertExpression(SyntaxNode, SyntaxNode)

创建表示类型转换操作的表达式。

CustomEventDeclaration(IEventSymbol, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

从现有事件符号创建自定义事件声明。

CustomEventDeclaration(String, SyntaxNode, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建自定义事件声明。

Declaration(ISymbol)

创建与现有符号匹配的声明。

DefaultExpression(ITypeSymbol)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

DefaultExpression(SyntaxNode)

表示类型的默认值的表达式。 对于引用类型,这通常是 null 值,对于值类型,这通常是零填充值。

DefaultSwitchSection(IEnumerable<SyntaxNode>)

为 switch 语句创建默认节。

DelegateDeclaration(String, IEnumerable<SyntaxNode>, IEnumerable<String>, SyntaxNode, Accessibility, DeclarationModifiers)

创建委托声明。

DivideExpression(SyntaxNode, SyntaxNode)

创建表示除法运算的表达式。

DottedName(String)

从虚线名称字符串创建名称表达式。

ElementAccessExpression(SyntaxNode, IEnumerable<SyntaxNode>)

创建一个访问数组或索引器元素的表达式。

ElementAccessExpression(SyntaxNode, SyntaxNode[])

创建一个访问数组或索引器元素的表达式。

ElementBindingExpression(IEnumerable<SyntaxNode>)

创建表示元素绑定操作的表达式。

ElementBindingExpression(SyntaxNode[])

创建表示元素绑定操作的表达式。

EnumDeclaration(String, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>)

创建枚举声明。

EnumMember(String, SyntaxNode)

创建枚举成员

EventDeclaration(IEventSymbol)

从现有事件符号创建事件声明

EventDeclaration(String, SyntaxNode, Accessibility, DeclarationModifiers)

创建事件声明。

ExitSwitchStatement()

创建退出 switch 语句并在其后继续的语句。

ExpressionStatement(SyntaxNode)

创建允许表达式在语句上下文中执行的语句。 这通常是调用或赋值表达式。

FalseLiteralExpression()

创建表示布尔 false 文本的表达式。

FieldDeclaration(IFieldSymbol)

创建与现有字段符号匹配的字段声明。

FieldDeclaration(IFieldSymbol, SyntaxNode)

创建与现有字段符号匹配的字段声明。

FieldDeclaration(String, SyntaxNode, Accessibility, DeclarationModifiers, SyntaxNode)

创建字段声明。

GenericName(String, IEnumerable<ITypeSymbol>)

创建表示泛型标识符名称的表达式。

GenericName(String, IEnumerable<SyntaxNode>)

创建表示泛型标识符名称的表达式。

GenericName(String, ITypeSymbol[])

创建表示泛型标识符名称的表达式。

GenericName(String, SyntaxNode[])

创建表示泛型标识符名称的表达式。

GetAccessibility(SyntaxNode)

获取声明的可访问性。

GetAccessor(SyntaxNode, DeclarationKind)

获取声明的指定类型的访问器。

GetAccessorDeclaration(Accessibility, IEnumerable<SyntaxNode>)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

GetAccessors(SyntaxNode)

获取声明的访问器。

GetAttributeArguments(SyntaxNode)

获取特性声明的属性参数。

GetAttributes(SyntaxNode)

获取声明的属性,不包括返回属性。

GetBaseAndInterfaceTypes(SyntaxNode)

获取声明的基类型和接口类型的列表。

GetDeclaration(SyntaxNode)

如果节点是声明,则返回直接封闭声明(如果存在)或 null。

GetDeclaration(SyntaxNode, DeclarationKind)

返回指定类型或 null 的封闭声明。

GetDeclarationKind(SyntaxNode)

DeclarationKind获取声明的 。

GetExpression(SyntaxNode)

获取与声明关联的表达式。

GetGenerator(Document)

SyntaxGenerator获取对应于文档的语言的 。

GetGenerator(Project)

SyntaxGenerator获取对应于项目的语言的 。

GetGenerator(Workspace, String)

SyntaxGenerator获取指定语言的 。

GetGetAccessorStatements(SyntaxNode)

获取声明的 get-访问器主体的语句。

GetMembers(SyntaxNode)

获取声明的当前成员。

GetModifiers(SyntaxNode)

DeclarationModifiers获取声明的 。

GetName(SyntaxNode)

获取声明的名称。

GetNamespaceImports(SyntaxNode)

获取属于声明的命名空间导入。

GetParameters(SyntaxNode)

获取声明的参数列表。

GetReturnAttributes(SyntaxNode)

从声明中获取返回属性。

GetSetAccessorStatements(SyntaxNode)

获取声明的 set-访问器主体的语句。

GetStatements(SyntaxNode)

获取声明正文的语句。

GetSwitchSections(SyntaxNode)

获取 语句的 switch 节的列表。

GetType(SyntaxNode)

获取声明的类型。

GreaterThanExpression(SyntaxNode, SyntaxNode)

创建表示大于测试操作的表达式。

GreaterThanOrEqualExpression(SyntaxNode, SyntaxNode)

创建表示大于或等于测试操作的表达式。

IdentifierName(String)

创建表示简单标识符名称的表达式。

IfStatement(SyntaxNode, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建 if 语句

IfStatement(SyntaxNode, IEnumerable<SyntaxNode>, SyntaxNode)

创建 if 语句

IndexerDeclaration(IEnumerable<SyntaxNode>, SyntaxNode, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建索引器声明。

IndexerDeclaration(IPropertySymbol, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建与现有索引器符号匹配的索引器声明。

IndexOf<T>(IReadOnlyList<T>, T)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

InsertAccessors(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

使用插入访问器创建声明的新实例。

InsertAttributeArguments(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

使用插入的参数创建 特性的新实例。

InsertAttributes(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

使用插入的属性创建 声明的新实例。

InsertAttributes(SyntaxNode, Int32, SyntaxNode[])

使用插入的属性创建 声明的新实例。

InsertMembers(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

使用插入的成员创建声明的新实例。

InsertMembers(SyntaxNode, Int32, SyntaxNode[])

使用插入的成员创建声明的新实例。

InsertNamespaceImports(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

创建声明的新实例,并插入命名空间导入。

InsertNamespaceImports(SyntaxNode, Int32, SyntaxNode[])

创建声明的新实例,并插入命名空间导入。

InsertNodesAfter(SyntaxNode, SyntaxNode, IEnumerable<SyntaxNode>)

在指定的声明之前插入新节点。

InsertNodesBefore(SyntaxNode, SyntaxNode, IEnumerable<SyntaxNode>)

在指定的声明之前插入新节点。

InsertParameters(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

将指定索引处的参数插入声明中。

InsertReturnAttributes(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

创建插入了返回属性的方法声明的新实例。

InsertReturnAttributes(SyntaxNode, Int32, SyntaxNode[])

创建插入了返回属性的方法声明的新实例。

InsertSwitchSections(SyntaxNode, Int32, IEnumerable<SyntaxNode>)

将指定索引处的 switch 节插入到 语句中。

InterfaceDeclaration(String, IEnumerable<String>, Accessibility, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建接口声明。

InvocationExpression(SyntaxNode, IEnumerable<SyntaxNode>)

创建调用表达式。

InvocationExpression(SyntaxNode, SyntaxNode[])

创建调用表达式

IsTypeExpression(SyntaxNode, ITypeSymbol)

创建表示 is-type-检查 操作的表达式。

IsTypeExpression(SyntaxNode, SyntaxNode)

创建表示 is-type-检查 操作的表达式。

LambdaParameter(String, ITypeSymbol)

创建 lambda 参数。

LambdaParameter(String, SyntaxNode)

创建 lambda 参数。

LessThanExpression(SyntaxNode, SyntaxNode)

创建表示小于测试操作的表达式。

LessThanOrEqualExpression(SyntaxNode, SyntaxNode)

创建表示小于或等于测试操作的表达式。

LiteralExpression(Object)

创建文本表达式。 这通常是数值基元、字符串或字符。

LocalDeclarationStatement(ITypeSymbol, String, SyntaxNode, Boolean)

创建声明单个局部变量的语句。

LocalDeclarationStatement(String, SyntaxNode)

创建声明单个局部变量的语句。

LocalDeclarationStatement(SyntaxNode, String, SyntaxNode, Boolean)

创建声明单个局部变量的语句。

LockStatement(SyntaxNode, IEnumerable<SyntaxNode>)

创建表示锁块模式的语句。

LogicalAndExpression(SyntaxNode, SyntaxNode)

创建表示逻辑和操作的表达式。

LogicalNotExpression(SyntaxNode)

创建表示逻辑非操作的表达式。

LogicalOrExpression(SyntaxNode, SyntaxNode)

创建表示逻辑或操作的表达式。

MemberAccessExpression(SyntaxNode, String)

创建成员访问表达式。

MemberAccessExpression(SyntaxNode, SyntaxNode)

创建成员访问表达式。

MemberBindingExpression(SyntaxNode)

创建表示成员绑定操作的表达式。

MethodDeclaration(IMethodSymbol, IEnumerable<SyntaxNode>)

创建与现有方法符号匹配的方法声明。

MethodDeclaration(String, IEnumerable<SyntaxNode>, IEnumerable<String>, SyntaxNode, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>)

创建方法声明。

ModuloExpression(SyntaxNode, SyntaxNode)

创建表示模数运算的表达式。

MultiplyExpression(SyntaxNode, SyntaxNode)

创建表示乘法运算的表达式。

NameExpression(INamespaceOrTypeSymbol)

创建表示类型或命名空间的名称。

NameOfExpression(SyntaxNode)

创建 nameof 表达式。

NamespaceDeclaration(String, IEnumerable<SyntaxNode>)

创建命名空间声明。

NamespaceDeclaration(String, SyntaxNode[])

创建命名空间声明。

NamespaceDeclaration(SyntaxNode, IEnumerable<SyntaxNode>)

创建命名空间声明。

NamespaceDeclaration(SyntaxNode, SyntaxNode[])

创建命名空间声明。

NamespaceImportDeclaration(String)

创建命名空间导入声明。

NamespaceImportDeclaration(SyntaxNode)

创建命名空间导入声明。

NegateExpression(SyntaxNode)

创建表示一元求反运算的表达式。

NullableTypeExpression(SyntaxNode)

创建表示可为空类型的表达式。

NullLiteralExpression()

创建表示 null 文本的表达式。

ObjectCreationExpression(ITypeSymbol, IEnumerable<SyntaxNode>)

创建对象创建表达式。

ObjectCreationExpression(ITypeSymbol, SyntaxNode[])

创建对象创建表达式。

ObjectCreationExpression(SyntaxNode, IEnumerable<SyntaxNode>)

创建对象创建表达式。

ObjectCreationExpression(SyntaxNode, SyntaxNode[])

创建对象创建表达式。

OperatorDeclaration(IMethodSymbol, IEnumerable<SyntaxNode>)

创建与现有方法符号匹配的运算符或转换声明。

OperatorDeclaration(OperatorKind, IEnumerable<SyntaxNode>, SyntaxNode, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>)

创建方法声明。

ParameterDeclaration(IParameterSymbol, SyntaxNode)

创建与现有参数符号匹配的参数声明。

ParameterDeclaration(String, SyntaxNode, SyntaxNode, RefKind)

创建参数声明。

PreserveTrivia<TNode>(TNode, Func<TNode,SyntaxNode>)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

PropertyDeclaration(IPropertySymbol, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

使用现有属性符号作为签名创建属性声明。

PropertyDeclaration(String, SyntaxNode, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建属性声明。 如果 IsWriteOnly 为 ,则 属性将具有get访问器,如果 IsReadOnlyfalse,则具有set访问false器。

QualifiedName(SyntaxNode, SyntaxNode)

创建表示限定名称的名称表达式。 左操作数可以是任何名称表达式。 右操作数可以是 和 标识符或泛型名称。

ReferenceEqualsExpression(SyntaxNode, SyntaxNode)

创建表示引用类型相等性测试操作的表达式。

ReferenceNotEqualsExpression(SyntaxNode, SyntaxNode)

创建表示引用类型不等式测试操作的表达式。

RemoveAllAttributes(SyntaxNode)

从声明中删除所有属性,包括返回属性。

RemoveEventHandler(SyntaxNode, SyntaxNode)

创建从给定事件中删除给定处理程序的语句。

RemoveNode(SyntaxNode, SyntaxNode)

从子树中删除从根目录开始的节点。

RemoveNode(SyntaxNode, SyntaxNode, SyntaxRemoveOptions)

从子树中删除从根目录开始的节点。

RemoveNodes(SyntaxNode, IEnumerable<SyntaxNode>)

从子树中删除从根目录开始的所有声明。

RemoveRange<TNode>(SeparatedSyntaxList<TNode>, Int32, Int32)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

RemoveRange<TNode>(SyntaxList<TNode>, Int32, Int32)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

ReplaceNode(SyntaxNode, SyntaxNode, SyntaxNode)

将根树中的节点替换为新节点。

ReplaceRange(SyntaxNode, SyntaxNode, IEnumerable<SyntaxNode>)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

ReplaceWithTrivia(SyntaxNode, SyntaxNode, SyntaxNode)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

ReplaceWithTrivia(SyntaxNode, SyntaxToken, SyntaxToken)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

ReplaceWithTrivia<TNode>(SyntaxNode, TNode, Func<TNode,SyntaxNode>)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

ReturnStatement(SyntaxNode)

创建可用于从方法主体返回值的语句。

SetAccessorDeclaration(Accessibility, IEnumerable<SyntaxNode>)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

StructDeclaration(String, IEnumerable<String>, Accessibility, DeclarationModifiers, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建结构声明。

SubtractExpression(SyntaxNode, SyntaxNode)

创建表示减法运算的表达式。

SwitchSection(IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

为 switch 语句创建节。

SwitchSection(SyntaxNode, IEnumerable<SyntaxNode>)

创建一个单 case 节和 switch 语句。

SwitchStatement(SyntaxNode, IEnumerable<SyntaxNode>)

创建一个 switch 语句,该语句根据指定表达式的值分支到各个部分。

SwitchStatement(SyntaxNode, SyntaxNode[])

创建一个 switch 语句,该语句根据指定表达式的值分支到各个部分。

ThisExpression()

创建表示包含方法的 this-parameter 的表达式。

ThrowExpression(SyntaxNode)

创建可用于引发异常的表达式。

ThrowStatement(SyntaxNode)

创建可用于引发异常的 语句。

TrueLiteralExpression()

创建表示布尔 true 文本的表达式。

TryCastExpression(SyntaxNode, ITypeSymbol)

创建表示 try-cast 操作的表达式。

TryCastExpression(SyntaxNode, SyntaxNode)

创建表示 try-cast 操作的表达式。

TryCatchStatement(IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建 try-catch 或 try-catch-finally 语句。

TryCatchStatement(IEnumerable<SyntaxNode>, SyntaxNode[])

创建 try-catch 或 try-catch-finally 语句。

TryFinallyStatement(IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建 try-finally 语句。

TupleElementExpression(ITypeSymbol, String)

创建表示元组元素的表达式。

TupleElementExpression(SyntaxNode, String)

创建表示元组元素的表达式。

TupleExpression(IEnumerable<SyntaxNode>)

创建元组表达式。

TupleTypeExpression(IEnumerable<ITypeSymbol>, IEnumerable<String>)

创建表示元组类型的表达式。

TupleTypeExpression(IEnumerable<SyntaxNode>)

创建表示元组类型的表达式。

TupleTypeExpression(SyntaxNode[])

创建表示元组类型的表达式。

TypedConstantExpression(TypedConstant)

为类型化常量创建表达式。

TypeExpression(ITypeSymbol)

创建表示类型的表达式。

TypeExpression(ITypeSymbol, Boolean)

创建表示类型的表达式。 如果 addImport 为 false,则添加 , Microsoft.CodeAnalysis.Simplification.DoNotAddImportsAnnotation 这将阻止为类型添加任何导入或使用。

TypeExpression(SpecialType)

创建表示特殊类型名称的表达式。

TypeOfExpression(SyntaxNode)

创建一个表达式,该表达式在运行时的计算结果为 类型。

UsingStatement(String, SyntaxNode, IEnumerable<SyntaxNode>)

创建表示 using 块模式的 语句。

UsingStatement(SyntaxNode, IEnumerable<SyntaxNode>)

创建表示 using 块模式的 语句。

UsingStatement(SyntaxNode, String, SyntaxNode, IEnumerable<SyntaxNode>)

创建表示 using 块模式的 语句。

ValueEqualsExpression(SyntaxNode, SyntaxNode)

创建表示值类型相等性测试操作的表达式。

ValueNotEqualsExpression(SyntaxNode, SyntaxNode)

创建表示值类型不相等测试操作的表达式。

ValueReturningLambdaExpression(IEnumerable<SyntaxNode>)

创建一个表达式,该表达式声明返回 lambda 表达式的零参数值。

ValueReturningLambdaExpression(IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建一个表达式,该表达式声明返回 lambda 表达式的值。

ValueReturningLambdaExpression(IEnumerable<SyntaxNode>, SyntaxNode)

创建一个表达式,该表达式声明返回 lambda 表达式的值。

ValueReturningLambdaExpression(String, IEnumerable<SyntaxNode>)

创建一个表达式,该表达式声明返回 lambda 表达式的单个参数值。

ValueReturningLambdaExpression(String, SyntaxNode)

创建一个表达式,该表达式声明返回 lambda 表达式的单个参数值。

ValueReturningLambdaExpression(SyntaxNode)

创建一个表达式,该表达式声明返回 lambda 表达式的零参数值。

VoidReturningLambdaExpression(IEnumerable<SyntaxNode>)

创建一个表达式,该表达式声明返回 lambda 表达式的零参数 void。

VoidReturningLambdaExpression(IEnumerable<SyntaxNode>, IEnumerable<SyntaxNode>)

创建一个表达式,该表达式声明返回 lambda 表达式的 void。

VoidReturningLambdaExpression(IEnumerable<SyntaxNode>, SyntaxNode)

创建一个表达式,该表达式声明返回 lambda 表达式的 void

VoidReturningLambdaExpression(String, IEnumerable<SyntaxNode>)

创建一个表达式,该表达式声明返回 lambda 表达式的单个参数 void。

VoidReturningLambdaExpression(String, SyntaxNode)

创建一个表达式,该表达式声明返回 lambda 表达式的单个参数 void。

VoidReturningLambdaExpression(SyntaxNode)

创建一个表达式,该表达式声明返回 lambda 表达式的零参数 void。

WhileStatement(SyntaxNode, IEnumerable<SyntaxNode>)

创建 while 循环语句

WithAccessibility(SyntaxNode, Accessibility)

更改声明的可访问性。

WithAccessorDeclarations(SyntaxNode, IEnumerable<SyntaxNode>)

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

WithAccessorDeclarations(SyntaxNode, SyntaxNode[])

一个与语言无关的工厂,用于创建语法节点。

此 API 可用于创建语言之间语义相似的特定于语言的语法节点。

如果可能,此 API 生成的树将尝试遵守用户首选项。 例如,生成 MemberAccessExpression(SyntaxNode, String) 将按照用户首选项(如果使用 Simplifier )简化“this.”或“Me.”。

WithExpression(SyntaxNode, SyntaxNode)

更改与声明关联的表达式。

WithGetAccessorStatements(SyntaxNode, IEnumerable<SyntaxNode>)

更改声明的 get 访问器主体的 语句。

WithModifiers(SyntaxNode, DeclarationModifiers)

DeclarationModifiers更改声明的 。

WithName(SyntaxNode, String)

更改声明的名称。

WithSetAccessorStatements(SyntaxNode, IEnumerable<SyntaxNode>)

更改声明的 set 访问器主体的 语句。

WithStatements(SyntaxNode, IEnumerable<SyntaxNode>)

更改声明正文的 语句。

WithType(SyntaxNode, SyntaxNode)

更改声明的类型。

WithTypeArguments(SyntaxNode, IEnumerable<SyntaxNode>)

将以名称结尾的表达式转换为以泛型名称结尾的表达式。 如果表达式已以泛型名称结尾,则改用新的类型参数。

WithTypeArguments(SyntaxNode, SyntaxNode[])

将以名称结尾的表达式转换为以泛型名称结尾的表达式。 如果表达式已以泛型名称结尾,则改用新的类型参数。

WithTypeConstraint(SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

将类型约束添加到声明的类型参数。

WithTypeConstraint(SyntaxNode, String, SpecialTypeConstraintKind, SyntaxNode[])

将类型约束添加到声明的类型参数。

WithTypeConstraint(SyntaxNode, String, SyntaxNode[])

将类型约束添加到声明的类型参数。

WithTypeParameters(SyntaxNode, IEnumerable<String>)

将声明 (方法、类等) 转换为具有类型参数的声明。

WithTypeParameters(SyntaxNode, String[])

将声明 (方法、类等) 转换为具有类型参数的声明。

适用于