2009-09-22 32 views
32

私は動作すると思う次のコードがあります:C++/cliでNullable型を使用するには?

property Nullable<double> Angle { 
    Nullable<double> get() { 
     return nullptr; 
     } 
} 

そうではありません。どうしたらいいですか? C++/CLIはnull可能な型をサポートしますか?

答えて

51

OKは、手間の多くの後、それを見つけた:

をnullを返すために、ちょうどnull以外を返すために

return Nullable<double>(); 

の操作を行います。

return Nullable<double>(12321); 

宣言することが重要です戻り値がNullable<double>で、Nullable<double>^でない場合、C#およびvb.netとして他の言語を使用すると、0123の代わりにValueTypeと表示されます。

+0

「Nullable ^」のインスタンスではなく、 'double'のボックス化されたインスタンスまたは' nullptr'の値に対するハンドルが 'Nullable ^'に含まれています。 C#などはボックス化された値型シグネチャをサポートしていないため、 'ValueType'しか表示されません(ただし、メタデータでは元の型は保持されます)。 null不可能な型は、実際の値で囲むことはできません。内部値のみまたはリテラルnullとして囲むことはできません。 – IllidanS4