C# ISymbol.DeclaringSyntaxReferences和ISymbol.Location之间的差异
属性和界面中的属性有什么区别?答案的线索在C# ISymbol.DeclaringSyntaxReferences和ISymbol.Location之间的差异,c#,roslyn,roslyn-code-analysis,C#,Roslyn,Roslyn Code Analysis,属性和界面中的属性有什么区别?答案的线索在注释部分: 声明符号的语法节点。如果符号在元数据中声明或隐式声明,则返回空的只读数组 这意味着,Locations还返回元数据引用声明和隐式声明的位置。您可以在文件中看到这方面的证据: 其中,c是c类在: namespace N.S{class C{int F; void M(int P}{}} 因此,obj是System.Object。这是有意义的,因为您没有任何实际的源代码,因此在编译中没有定义System.Object的语法 namespace
注释部分:
声明符号的语法节点。如果符号在元数据中声明或隐式声明,则返回空的只读数组
这意味着,Locations
还返回元数据引用声明和隐式声明的位置。您可以在文件中看到这方面的证据:
其中,c
是c类
在:
namespace N.S{class C{int F; void M(int P}{}}
因此,obj
是System.Object
。这是有意义的,因为您没有任何实际的源代码,因此在编译中没有定义System.Object
的语法
namespace N.S{class C{int F; void M(int P}{}}