2009-09-22 7 views

Répondre

51

OK, a trouvé, après beaucoup de tracas:

pour retourner null, il suffit de faire

return Nullable<double>(); 

pour retourner non nulle:

return Nullable<double>(12321); 

Il est important de déclarer la valeur de retour comme Nullable<double> et non Nullable<double>^, comme si vous le faites, lorsque vous utilisez d'autres langages comme C# et vb.net, vous verrez le type comme ValueType au lieu de double?.

+0

Si quelqu'un se demandait, 'Nullable ^' contient un handle pour une instance encadrée de 'double', ou une valeur de' nullptr', pas une instance de 'Nullable '. C# etc. ne prend pas en charge les signatures de types de valeurs encadrées et ne voit donc que ValueType (bien que dans les métadonnées, le type d'origine soit conservé). Les types nullables ne peuvent pas être encadrés avec leur valeur réelle, uniquement avec leur valeur interne ou comme null littéral. – IllidanS4

Questions connexes