.net 是罗斯林';s代码生成API不可变?

.net 是罗斯林';s代码生成API不可变?,.net,roslyn,.net,Roslyn,我开始用Roslyn做一些代码生成的实验。我注意到,当我在语法对象上调用.Add…时,我调用的原始对象没有发生变化。罗斯林就是这样设计的吗?有没有办法使其可变?是的,语法树是不可变的。Roslyn团队关于不变性的一些原始设计讨论如下: ‪‬ 有几点是并发性和线程安全性,并且能够消除重复,而无需实现写时复制之类的功能 我不知道如何使它们可变

我开始用Roslyn做一些代码生成的实验。我注意到,当我在语法对象上调用
.Add…
时,我调用的原始对象没有发生变化。罗斯林就是这样设计的吗?有没有办法使其可变?

是的,语法树是不可变的。Roslyn团队关于不变性的一些原始设计讨论如下:

‪‬

有几点是并发性和线程安全性,并且能够消除重复,而无需实现写时复制之类的功能

我不知道如何使它们可变