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装箱。