有沒有簡單的方法來檢查對象的類型?我需要沿着以下的說法:如何在C++/CLI中檢查對象的類型?
MyObject^ mo = gcnew MyObject();
Object^ o = mo;
if(o->GetType() == MyObject)
{
// Do somethine with the object
}
else
{
// Try something else
}
目前我使用的是尋找System::InvalidCastException
S的感覺醜,但工程嵌套的try-catch塊。我正在嘗試和分析上面的代碼,看它是否更快/更慢/可讀,但不能解決甚至嘗試的語法。
如果有人想知道,這是因爲有一個隊列進入一個提供數據的線程。偶爾我想更改設置並通過數據隊列傳遞它們是一種簡單的方法。
+ 1 /接受:這是完美的 - 謝謝! – 2010-03-11 12:49:24
這在VS 2010/2012中仍然有效嗎?沒有看到那個typeid成員... – bbqchickenrobot 2012-09-11 21:02:48
它仍然在VS2010中工作。我沒有VS2012所以不能評論最新的VS版本。這可能是因爲你沒有「看到那個typeid成員」,因爲C++/CLI的自動完成不包含在VS2010中。 – mcdave 2012-09-12 15:00:41