あ、このエントリは「型推論」がいいとか、わるいとか、そんなの何にも書いてませんので、それは期待しないでくださいw
さて、Visual Studio 2008 日本語版もリリースされ、Beta 版の情報しか頭に入ってなかった新しい機能を再確認しておこうと思います。
# 書こう書こうとは思っていたのですが、なんか旬が終わってしまいそうなので足早にw
というわけで、Visual Basic 2008では ローカル型の推論 という機能が新しく追加されました。
MSDN:ローカル型の推論
どういう機能かというとコンパイラが初期化式の型から変数の型を推測することにより、ローカル変数をAs 句なしで変数を宣言することができます。明示的に型を宣言ませんが、これは、Option Strict Off のような遅延バインディングではなく、コンパイラによって推論された型として解決できます。
この機能に対して Visual Basic 2008 では新しく「Option Infer」というオプションが追加されました。
MSDN:Option Infer ステートメント
で、ちょっとしたサンプルコード。
Option Compare Binary
Option Explicit On
Option Infer On
Option Strict On
Imports System.Collections.Generic
Public Module InferenceProgramming
Sub Main()
Dim rank = 15
Dim keyword = "メガフライドチキン"
Dim ranking = New Dictionary(Of Integer, String)
ranking.Add(rank, kerword)
End Sub
End Module
上記コードは As 句なしで変数を宣言していますが、Option Infer が On のため型推論が機能し、コンパイラによって rankはInteger型、keywordはString型、rankingはDictionary(Of Integer, String)型として解決されます。
熱い議論が繰り広げられているようですが、私自身はまだ発信できる言葉にはなっておりませんので、そのへんは改めて。(冷めないうちに書けるといいな)