我正在使用CodeDom编译器动态编译用户定义的脚本。我们正在使用C#脚本作为标准,但我想知道是否有一种方法来支持所有CLI语言。为此,我必须检测在此特定源代码中使用的已使用的CLI语言。
是否有一些优雅的方法如何从源代码中仅检测CLI语言?
由于
答案 0 :(得分:0)
框架提供CodeDomProvider的语言只有3种:C#,JScript和VB。因此,如果框架提供任何直接方法来解析“任何语言”,它只能支持这3种语言。我不这么认为。
您可能希望尝试使用CodeDomProvider的所有三个实现来解析代码,并保留第一个成功的代码。这将需要十几行代码。
我认为这可能是你最好的尝试。
CodeDomProvider的文档:http://msdn.microsoft.com/en-us/library/ds075xdx.aspx CodeDomProvider.Parse的文档:http://msdn.microsoft.com/en-us/library/system.codedom.compiler.codedomprovider.parse%28v=vs.110%29.aspx