DateTime.MinValueをDateTimeOffset値に変換しようとしていますが、ArgumentOutOfRange例外が発生しています。
DateTimeからDateTimeOffsetへの暗黙的な変換に関するMSDNの記事を見ていましたが、「例外」セクションには、次の場合にこのArgumentOutOfRange例外を受け取ると記載されています。
...オフセットを適用した結果の協定世界時(UTC)の日付と時刻は、 MinValueよりも前です。..。
それでは、なぜ次のコードが例外をスローするのでしょうか。
DateTime test = DateTime.MinValue;
DateTimeOffset dto = test;
それは単に私のタイムゾーンによるものですか?私はGMT+8ですが、上記のコードについての私の理解は、テストが不特定の種類で作成されているということです。
DateTimeのMinValueをテストするだけで問題を回避し、テストする場合は、代わりにDateTimeOffset.MinValueを使用します。
不特定の種類のDateTimeオブジェクトがエラーを引き起こす理由について知りたいだけです。