gpt4 book ai didi

c++-cli - 如何在 C++/CLI 中检查对象的类型?

转载 作者:行者123 更新时间:2023-12-03 09:43:02 24 4
gpt4 key购买 nike

有没有一种简单的方法来检查对象的类型?我需要以下内容:

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 感觉丑陋但有效。我打算尝试分析类似上面的代码的东西,看看它是否更快/更慢/可读,但无法计算出甚至尝试的语法。

如果有人想知道,这是因为有一个队列进入了一个线程,该线程提供了要处理的数据。有时我想更改设置并通过数据队列传递它们是一种简单的方法。

最佳答案

您可以使用 MyObject::typeid在 C++/CLI 中的方式与 typeof(MyObject) 相同在 C# 中使用。下面的代码无耻地从您的问题中复制并修改...

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

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

关于c++-cli - 如何在 C++/CLI 中检查对象的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com