标签: c# roslyn static-code-analysis
鉴于两个ITypeSymbol s(a和b),如何检查从一个显式转换为另一个是否合法?我正在尝试编写一个代码分析器,用于预测在运行时是否会在特定的CastExpressionSyntax上抛出InvalidCastException。
ITypeSymbol
a
b
答案 0 :(得分:2)
调用SemanticModel.GetConversion(castNode)并查看返回的Conversion的属性。
SemanticModel.GetConversion(castNode)
Conversion
有关如何检查演员表的更多示例,请参阅IsUnnecessaryCast method。
IsUnnecessaryCast