Beta1 から Beta2 への移行

 ある実用プログラムを Beta1 から Beta2 に作り直したのですが、こんなところでいろいろと修正したことを記述しておきます。

・配列から Conrtains などのインスタンス・メソッドが消えた。
 主にそれらの機能は static なクラス・メソッドに移行しました。
 いままでは

array^ arr = gcnew array(5) { 1, 2, 3, 4, 5 };
if ( arr->Contains(3) ) { ... }

とかやってましたが、Beta2 ではエラーです。
 代わりに、

if ( Array::IndexOf(arr, 3) > -1 ) { ... }

と書くようです。String との互換性かな。でも、せめてインスタンス・メンバにも同じような奴を持たせて欲しいものだ。

・Dictionary が KeyValuePair 型を参照するようになった。

Dictionary^ point = gcnew Dictionary;
Dictionary::Enumerator de = point->GetEnumerator();
while ( de.MoveNext() ) {
    String^ key = safe_cast(de.Key);
}

とかやっていたものが、

while ( de.MoveNext() ) {
    Console::WriteLine("{0}", de.Current.Key);
}

と書けるようになりました。キャストしなくて良くなったです。

 まぁ、お知らせまでに。