Czy istnieje prosty sposób sprawdzenia typu obiektu? Muszę coś wzdłuż następujące wiersze:Jak sprawdzić typ obiektu w C++/CLI?
MyObject^ mo = gcnew MyObject();
Object^ o = mo;
if(o->GetType() == MyObject)
{
// Do somethine with the object
}
else
{
// Try something else
}
Obecnie używam zagnieżdżonych bloków try-catch szukają System::InvalidCastException
s który czuje brzydki, ale działa. Miałem zamiar wypróbować profil podobny do powyższego kodu, aby sprawdzić, czy jest szybszy/wolniejszy/czytelny, ale nie może wypróbować składni, aby spróbować.
W przypadku, gdy ktoś się zastanawia, chodzi o to, że pojedyncza kolejka wchodzi w wątek, który dostarczył dane do pracy. Czasami chcę zmienić ustawienia i przekazywanie ich za pośrednictwem kolejki danych jest prostym sposobem na zrobienie tego.
+ 1/Accept: To jest idealne - dzięki! –
czy to nadal działa w VS 2010/2012? Nie widząc tego typowego członka ... – bbqchickenrobot
Nadal działa w VS2010. Nie mam VS2012, więc nie mogę komentować najnowszej wersji VS. Możliwe, że nie "widzisz tego typu członka", ponieważ autouzupełnianie dla C++/CLI nie było zawarte w VS2010. – mcdave