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
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); }
と書けるようになりました。キャストしなくて良くなったです。
まぁ、お知らせまでに。