型キャストのガイドライン

次の規則は、キャストの使用方法のガイドラインを示しています。

  • 精度が損なわれる結果を招く暗黙のキャストは、実行できないようにしておきます。たとえば、Double から Int32 には暗黙にキャストできませんが、Int32 から Int64 への暗黙のキャストは実行できます。
  • 開発者にとって例外の原因が非常にわかりにくくなるため、暗黙のキャストからは例外をスローしないでください。
  • オブジェクト全体に適用されるキャストを提供します。キャストされる値は、オブジェクトのメンバではなく、オブジェクト全体を表す必要があります。たとえば、Button を文字列にキャストしてキャプションを返すことは適切ではありません。
  • 意味的に異なる値は生成しないようにします。たとえば、DateTime または TimeSpanInt32 に変換することは適切です。この場合、変換後の Int32 も、時刻または存続期間を表します。しかし、"c:\mybitmap.gif" のようなファイル名文字列を Bitmap オブジェクトに変換することは、無意味です。
  • 異なるドメインから値をキャストしないようにします。キャストは、値の特定ドメイン内で機能します。たとえば、数値と文字列は異なるドメインにあります。Int32Double にキャストすることは、意味があります。しかし、Int32String にキャストすることは、これらが異なるドメインにあるため無意味です。

参照

クラス ライブラリ開発者向けのデザイン ガイドライン