c# 代码静态分析

void Test()

{

      var list=new List<string>();

       ....

      foreach(var item in list)

  {

    ....

  }

}

 

假如有一个test.cs文件内容如上,在没有语法错误的情况下,不使用字符串匹配(如字符串截取,正则表达式等)技术,从语法分析方面如何分析出变量list的数据类型?会用到哪些技术


潇湘沐
浏览 716回答 2
2回答

富国沪深

1.antlr 但用起来比较麻烦,如果没有找到别人写的语法规则自己来写的话估计够呛2.用roslyn的api来加载整个代码块,然后从语法树的context中加以判断。
打开App,查看更多内容
随时随地看视频慕课网APP