如何获得IMethodSymbol的陈述?

时间:2016-07-10 16:14:08

标签: c# .net roslyn codefixprovider

我正在为.Net的代码修复提供程序工作。

我想检查方法内部,例如来自IMethodSymbol的方法陈述。

作为一个例子,我在输入上有以下代码:

public void DoSomething(string input)
{
    if(input == null)
        throw new InvalidOperationException("!!!!");
}

在代码修复方面,我有IMethodSymbol接口,并且无法获取方法语句,内部节点等。(我希望看到' if' ,条件为' if',异常提升等。)

我怎样才能得到它?

1 个答案:

答案 0 :(得分:7)

使用DeclaringSyntaxReferences属性获取定义方法的语法树。

部分方法将有两个节点。

元数据(引用的程序集)中定义的方法不会有任何。