Roslyn是否启用或可能启用多个langugage项目?

jmo*_*eno 3 roslyn

目前的.Net编译器是完全独立的.Roslyn应该将它们组合成一个编译器.有谁知道这是否会引入在单个项目中拥有多种语言的能力?或者甚至可能在一个文件/类中?

你现在能做的最好的事情就是在一个解决方案中有多个项目,但我真的很想在一个项目中看到多种语言,我希望Roslyn可能最终导致这种情况.

Nea*_*ter 7

答案是不.当我们启动Roslyn项目并确定它超出范围时,我们考虑了可能的要求.Roslyn C#和VB编译器共享很多代码,但它们是独立的编译器.符号表模型是分开的.对于表示C#中的类的符号,symbol.Members("x")返回名为lower-case x的所有成员.VB符号表模型中的相同方法返回名为lower-case x AND的所有成员以及名为upper-case x的所有成员.

我们可以设计"成员"方法来获取一个额外的参数,该参数表明查找是否应该依赖于案例或与案例无关,但我们没有这样做.C#符号表具有C#编译器所需的内部数据,VB符号表具有VB编译器所需的内部数据,它们是分开实现的.