2009年05月21日

implicitによる暗黙の型変換

   このエントリーをはてなブックマークに追加 Clip to Evernote
いきなりですが、何らかの都合で独自の日付クラスが必要になったとします。

とはいっても、.NET 標準のDateTime構造体を使わないで済ませることもできません。
当然ながら、この2つの型の相互変換が必要になってきます。
どうやるのがよいのか。

のように、MyDateクラスに、ToDateTimeメソッドと FromDateTime staticメソッド を追加するのがひとつの方法です。
以下のようなメソッドを書けばいいわけですね。

これはこれで良いと思うのですが、いちいちメソッド呼び出しを書くのが面倒です。
int -> double へ自動的に型変換が行えるように、MyDateとDateTimeが相互に代入できればもっと、コードが簡潔になります。
そんなときに使えるのが、implicitキーワードです。


こんな風に、operatorキーワードとあわせて使うと、
なんと、こんな記述が可能になります。

ここでは、MyDateは、classとして定義しましたが、structであっても同じことです。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51823830