7 votes

Appeler c# depuis c ++: comment passer nullptr à DateTime?

Dans une assembly c#, j'ai une fonction prenant en paramètre un DateTime nullable :

public void DoSomething(DateTime? timestamp);

Maintenant je veux appeler cette méthode depuis c++/cli :

MyClass->DoSomething(nullptr);

Cela ne compilera pas. Au lieu de cela, le compilateur c++ affichera un message d'erreur indiquant que nullptr ne peut pas être converti en System::Nullable.

Alors comment passer nullptr de c++ à un DateTime nullable ?

12voto

Daniel A. White Points 91889
MyClass->DoSomething(Nullable());

Comment utiliser les types Nullable en c++/cli?

4voto

Konrad Rudolph Points 231505

Nullable est un type de valeur et C++/CLI ne fournit pas de magie de compilation pour cela. Vous devez passer par la route explicite:

System::Nullable dtnull;
MyClass->DoSomething(dtnull);

Bien sûr, vous pouvez aussi utiliser un temporaire ici:

MyClass->DoSomething(System::Nullable());

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X