C# で記述した "JulianDate" 構造体があり、.NET ライブラリから DateTime へのカスタムの明示的な演算子があります。この明示的な演算子を C# コードで数回使用しましたが、問題なく動作します。
C++/CLI コードで同じ明示的な演算子を使用したいのですが、方法がわかりません。
私はもう試した:
DateTime^ dt = (DateTime^)jdate;
(コンパイルしますが、InvalidCastException が発生します)DateTime^ dt = safe_cast<DateTime^>(jdate);
(コンパイルエラーが発生します)DateTime^ dt = DateTime(*jdate);
(コンパイルされますが、dt には間違ったデータがあります: 1/1/0001 12:00AM)DateTime^ dt = dynamic_cast<DateTime^>(jdate);
(コンパイルしますが、null を返します)
安全なキャストの場合、次のエラーが発生します。
`Error 4 error C2682: cannot use 'safe_cast' to convert from 'Solution::Common::JulianDate ^' to 'System::DateTime ^' C:\Users\9a3eedi\Documents\Solution\Wrapper\Wrapper.cpp 75 Wrapper
明示的なキャストを実行する適切な方法は何ですか? それとも、クラスではなく構造体で作業しているため、機能しないのですか? あるいは、C++/CLI は C# の明示的な演算子をサポートしていないのでしょうか?