c# - 如何在 CLR/托管 C++ 中实现变体类型?

标签 c# clr managed-c++ variant

在 .net CLR 中,对象是所有类对象的基础,但不是基本类型(例如 int、float 等)。如何使用 Object 等基本类型? IE。喜欢Boost.Variant

例如喜欢 :-

object intValue( int(27) );
if (intValue is Int32)
    ...

object varArray[3];
varArray[0] = float(3.141593);
varArray[1] = int(-1005);
varArray[2] = string("String");

最佳答案

object,通过装箱,是所有 .NET 类型的有效(根)基类。这应该可以正常工作 - 您只需要使用 isGetType() 来检查类型...

object[] varArray = new object[3];
varArray[0] = 3.141593F;
varArray[1] = -1005;
varArray[2] = "String";

关于c# - 如何在 CLR/托管 C++ 中实现变体类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/952417/

相关文章:

c# - 为什么将值存储在变量中会改变相等比较的结果?

c# - FCallAdd 优化

c# - 如何从 C++ 调用托管 (C#) 函数?

C# - 全局控制台应用程序鼠标和键盘控制?

c# - 你如何制作一个绑定(bind)了数据的 'enum'?

c#有没有类似于多变量声明的参数构造?

visual-c++ - 如何在托管 C++ 中检查 "NULL object reference"?

c# - 如何使用上一个/下一个按钮循环浏览 XML 文件中的记录?

.net - .NET 中类加载器的等效项

c# - 使用托管 C++ 项目中的 C# 类