Comment vérifier le type d'un objet en C ++ / CLI?

Est-il un moyen simple de vérifier le type d'un objet? J'ai besoin de quelque chose le long des lignes suivantes:

MyObject^ mo = gcnew MyObject();
Object^ o = mo;

if( o->GetType() == MyObject )
{
    //Do somethine with the object
}
else
{
    //Try something else
}

Pour le moment je suis en utilisant des blocs try-catch à la recherche pour System::InvalidCastExceptions qui se sent moche, mais fonctionne. Je vais essayer de profil et de quelque chose comme le code ci-dessus pour voir si c'est plus vite/lent/lisible, mais ne peut pas travailler sur la syntaxe de même essayer.

Au cas où quelqu'un se demande, c'est d'avoir une seule file d'attente pour entrer dans un thread qui ont fourni des données pour travailler sur. Parfois je veux modifier les paramètres et de les transmettre par le biais de la file d'attente de données est un moyen simple de le faire.

source d'informationauteur Jon Cage