如何获取 IMethodSymbol 的语句?
How to get statements for IMethodSymbol?
我正在为 .Net 开发代码修复提供程序。
我想检查方法内部结构,例如来自 IMethodSymbol.
的方法语句
例如,我有以下输入代码:
public void DoSomething(string input)
{
if(input == null)
throw new InvalidOperationException("!!!!");
}
在代码修复方面,我有 IMethodSymbol 接口,无法获取方法语句、内部节点等。(我希望看到 'if',条件为'if'、异常引发等)。
如何获取?
使用 DeclaringSyntaxReferences
属性 获取定义方法的语法树。
部分方法将有两个节点。
元数据(引用的程序集)中定义的方法将没有。
我正在为 .Net 开发代码修复提供程序。
我想检查方法内部结构,例如来自 IMethodSymbol.
的方法语句例如,我有以下输入代码:
public void DoSomething(string input)
{
if(input == null)
throw new InvalidOperationException("!!!!");
}
在代码修复方面,我有 IMethodSymbol 接口,无法获取方法语句、内部节点等。(我希望看到 'if',条件为'if'、异常引发等)。
如何获取?
使用 DeclaringSyntaxReferences
属性 获取定义方法的语法树。
部分方法将有两个节点。
元数据(引用的程序集)中定义的方法将没有。