![](/img/trans.png)
[英]Built-in C#/VB.Net editor with intellisense - Roslyn, VSTA, or something else?
[英]Are there built-in “simplifications” with Roslyn?
有没有内置的方法可以使用Roslyn来执行C#编译器所做的相同编译时转换,例如将迭代器,初始化器,lambdas,LINQ等转换为基本的C#代码?
Roslyn编译器API旨在(除了将源代码转换为IL)之外,还可以构建源代码分析和转换工具。
但是,lambda和迭代器没有始终使用source指定的转换。 它们使用内部绑定节点抽象建模,其中包括只能使用IL表示的其他编译器特定规则。
可以将LINQ转换为C#中的源代码,因为它被指定为源代码转换(无论编译器是否真的以这种方式执行。)然而,没有编译器API专门执行此操作。 如果有,它可能会显示为服务层API而不是编译器API。
AFAIK,不,罗斯林没有暴露这样的东西。 但编译器必须以某种方式进行这些转换,因此您可以通过访问某些internal
方法来完成此操作。
当然,您可以使用Roslyn自己进行这些转换,但这不是您所要求的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.