Как я могу проверить, что конкретный состав действителен, используя Roslyn

Учитывая два ITypeSymbolс (a а также b), как проверить, разрешено ли явное приведение одного к другому? Я пытаюсь написать Code Analyzer, который предсказывает, будет ли InvalidCastException генерироваться во время выполнения на конкретном CastExpressionSyntax.

1 ответ

Вызов SemanticModel.GetConversion(castNode) и посмотрите на свойства возвращенного Conversion,

Дополнительные примеры проверки приведений см. В IsUnnecessaryCast метод.

Другие вопросы по тегам