- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Roslyn 的 2012 年 9 月 CTP。
在 C# 代码文档中获取未解析类型的最优雅的方法是什么?例如。类型 Guid 需要系统命名空间。目前我有这样的东西:
var semanticModel = (SemanticModel)document.GetSemanticModel();
var tree = (SyntaxTree)document.GetSyntaxTree();
//get unresolved types
var unresolvedTypes = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>()
.Where(x => semanticModel.GetSymbolInfo(x).Symbol == null);
使用 IdentifierNameSyntax 和 GetSymbolInfo 是否正确?
还有GetSymbolInfo和GetTypeInfo有什么区别,它们看起来都很像我。
最佳答案
这里有几个问题。
问:使用 IdentifierNameSyntax
是否正确?
答:您可能希望使用 SimpleNameSyntax
来处理解析泛型类型。另外,您可能不想查看所有 SimpleNameSyntax
元素。对于实际上不在类型上下文中的事物,您会得到误报(例如,想象一些类似 var x = Console();
问:使用 GetSymbolInfo
并检查 null 是否正确?
答:是的,在这里检查是正确的。
问:GetSymbolInfo
和 GetTypeInfo
有什么区别?
答:对于表示类型名称的语法来说,没有区别。然而,对于任意表达式,GetSymbolInfo
表示表达式的特定符号(例如,方法调用、索引器访问、数组访问、重载运算符等),GetTypeInfo
表示结果类型(以便您知道在为表达式添加声明时要生成什么类型)。以“myString.GetHashCode()
”的 InitationExpressionSyntax
为例。 GetSymbolInfo
将返回 GetHashCode()
的方法符号,而 GetTypeInfo
将返回 System.Int32
。
关于罗斯林 : How to get unresolved types,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13833928/
我是一名优秀的程序员,十分优秀!