我应该选择哪些候选符号(或如何使GetSymbolInfo更成功)?

时间:2016-08-26 17:08:46

标签: c# roslyn

我正在尝试从许多方法中获取符号。 一个例子是ODataUriParser.ParseFilter方法(谷歌,你会看到有关它的MS文档),它有3个重载。

我的输入是:InvocationExpression ODataUriParser.ParseFilter(filterString, EdmModel, TableServiceEntity)

不幸的是,没有成功找到符号,并且提供了3个重载作为候选符号。 研究我发现了一些可以解释我所得到的东西,见下文。 但是,我还想使用这些候选符号。最好的选择方法是什么,或者,有没有办法让符号发现更成功?

来自@ joshvarty的website

> SemanticModel.GetSymbolInfo()接受表达式语法(例如InvocationExpressionSyntax)并返回一个符号。如果模型无法成功解析符号,则会提供可作为最佳猜测的候选符号。

1 个答案:

答案 0 :(得分:1)

理论上,您可以查看CandidateReason并决定哪一个最适合您的方案。

实际上,在VS中,我们通常只使用first one :)