簡體   English   中英

使用Roslyn創建方法調用分析器

[英]Create a method call analyzer with Roslyn

我需要解析.cs文件以查找特定方法。 例如,一旦調用了名為“ X”的方法,分析器就應該檢測到它。

如何檢測到該特定節點是方法?

提前致謝!

如果具有語法節點和語義模型,則可以嘗試以下操作:

// node – is your current syntax node
// semanticalModel – is your semantical model
ISymbol symbol = semanticModel.GetSymbolInfo(node).Symbol ?? semanticModel.GetDeclaredSymbol(node);
if(symbol.Kind == SymbolKind.Method)
{
    // methodName – is a method's name that you are looking
    if((symbol as IMethodSymbol).Name == methodName)
    {
        // you find your method
    }
}

此外,您可以在不使用語義模型的情況下確定當前語法節點是您的方法,但是比上面的方法要難一些

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM