.NET 3.5の機能強化ポイント
.NET 3.5ではベースクラスライブラリ、およびその周辺テクノロジーにさまざまな機能強化や新機能の追加がされています。ここではその中からいくつかを抜粋して紹介します。
Windowsフォームの新機能
Windowsフォームにもいくつかの新機能が追加されています。例えば、新しい統合開発環境 Visual Studio 2008ってなんだ!?の「Windowsアプリケーション開発」で紹介している内容もWindowsフォームの新機能の1つです。ここではこれとは異なるものを紹介したいと思います。
1つ目は「ファイルを開く」「ファイルを保存する」のダイアログに関するものです。従来は、実行するOSに合わせたウィンドウが表示されていました。Vistaは、Vista用の新しいタイプとXPと同様なタイプの2種類が利用できるため、これをプロパティで制御できるようになりました。具体的にはOpenFileDialog(SaveFileDialog)クラスのAutoUpgradeEnabledプロパティを設定します。初期値はtrue
で、true
の場合はVista用のもの、false
の場合はXPと同様のタイプのものを利用します。なお、XPで実行した場合この設定は無視されます。
次に、UACに関するものです。といってもただのアイコンの追加ですが、SystemIconsクラスにShieldプロパティが追加され、このプロパティからUACの管理者特権が必要ですという意味を示すアイコンを取得できます。
![図5:アイコンをボタンに設定した例 図5:アイコンをボタンに設定した例](http://cz-cdn.shoeisha.jp/static/images/article/2269/2269_05.jpg)
なお、FileDialogのAutoUpgradeEnabledプロパティおよびSystemIconsのShieldプロパティは.NET 2.0 SP1にも追加となっています。このため、SP1なしの.NET 2.0でも利用できていたような錯覚にとらわれることがありますが、実際にはこれらのプロパティを利用したコードは実行時エラーとなってしまうため、注意が必要です。
ネットワーキングの新機能
.NET 3.5ではピアツーピアネットワークの構築を容易に行えるようにするためのネットワーキング機能が追加されています。PNRP(Peer Name Resolution Protocol)を利用したピアツーピアネットワークの構築のために、System.Net.PeerToPeer名前空間が用意され、このネットワーク内で高度なコラボレーションを構築するために、System.Net.PeerToPeer.Collaboration名前空間が用意されています。いずれもSystem.Net.dll内にあり、.NET 3.5のみに提供されている機能です。
その他の新機能
これら以外にクラスライブラリとして拡充されている点を簡単に紹介しておきたいと思います。
- HashSet<T>クラス
- EventProviderクラス
- PipeClientStream クラス
- ReaderWriterLockSlimクラス
- TimeZoneInfoとDateTimeOffsetクラス
これら以外の新機能の詳細については、MSDNライブラリの.NET Framework 3.5の新機能も合わせて参照してください。