Как я могу проверить, что конкретный состав действителен, используя Roslyn
Учитывая два ITypeSymbol
с (a
а также b
), как проверить, разрешено ли явное приведение одного к другому? Я пытаюсь написать Code Analyzer, который предсказывает, будет ли InvalidCastException генерироваться во время выполнения на конкретном CastExpressionSyntax.
1 ответ
Вызов SemanticModel.GetConversion(castNode)
и посмотрите на свойства возвращенного Conversion
,
Дополнительные примеры проверки приведений см. В IsUnnecessaryCast
метод.