Безопасное преобразование типов в C ++ / CLI - эквивалентно C # «as»?

Ранее я спросил, безопасно ли использование as в C # (т.е. не взорвется): Является ли использование «as» в C # безопасным способом приведения типов?

Мне понравился ответ, и в итоге я использовал что-то основанное на нем:

Foo x = y as Foo;
if (x != null)
{
    ...
}

Но теперь я конвертирую свой код C # в C ++ / CLI (из-за к проблеме зависимости ..) так что вопросы ...

Я ищу C ++ / CLI, эквивалентный "as", который безопасен и не взорвется во время выполнения, если не правильный тип. Может ли кто-нибудь предложить гипс, который соответствует моим потребностям? (приведите пример, если можете)

Спасибо!

8
задан Community 23 May 2017 в 11:53
поделиться