C++ cli 如何在c++/cli?

C++ cli 如何在c++/cli?,c++-cli,C++ Cli,我有以下代码,我认为可以: property Nullable<double> Angle { Nullable<double> get() { return nullptr; } } 属性可为空的角度{ 可为空的get(){ 返回空ptr; } } 没有。我怎么做?c++/CLI甚至支持可为null的类型吗?好的,经过很多麻烦之后找到了它: 要返回null,只需执行以下操作 return Nullable<double>(

我有以下代码,我认为可以:

property Nullable<double> Angle {
    Nullable<double> get() {
        return nullptr;
    }
}
属性可为空的角度{
可为空的get(){
返回空ptr;
}
}

没有。我怎么做?c++/CLI甚至支持可为null的类型吗?

好的,经过很多麻烦之后找到了它:

要返回null,只需执行以下操作

return Nullable<double>();
return Nullable();
要返回非空值,请执行以下操作:

return Nullable<double>(12321);
返回可为空(12321);

将返回值声明为
Nullable
而不是
Nullable^
,这一点很重要,因为如果使用其他语言如C#和vb.net,您将看到类型为
ValueType
,而不是
double?
Nullable^
包含对
double
的装箱实例的句柄,或值
nullaptr
,而不是
Nullable
的实例。C#etc.不支持装箱的值类型签名,因此只能看到
ValueType
(尽管在元数据中,原始类型被保留)。可为null的类型不能与其实际值一起装箱,只能与其内部值一起装箱,也不能作为文本null装箱。