Есть ли простой способ проверить тип объекта? Мне нужно что-то вроде следующего:
MyObject^ mo = gcnew MyObject();
Object^ o = mo;
if( o->GetType() == MyObject )
{
// Do somethine with the object
}
else
{
// Try something else
}
В данный момент я использую вложенные блоки try-catch, ища System::InvalidCastException
s, которые кажутся уродливыми, но работают. Я собирался попытаться профилировать что-то вроде приведенного выше кода, чтобы увидеть, будет ли он быстрее / медленнее / читабельнее, но не может выработать синтаксис, чтобы даже попробовать.
В случае, если кому-то интересно, это связано с наличием единой очереди, входящей в поток, который предоставляет данные для работы. Иногда я хочу изменить настройки и передать их через очередь данных - это простой способ сделать это.