Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

とことん理解する .NET Framework 3.5

Visual Studio 2008 徹底入門(3)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

.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で実行した場合この設定は無視されます。

図3:AuthUpgradeEnabledプロパティがtrueの場合
図3:AuthUpgradeEnabledプロパティがtrueの場合
図4:AuthUpgradeEnabledプロパティがfalseの場合
図4:AuthUpgradeEnabledプロパティがfalseの場合

 次に、UACに関するものです。といってもただのアイコンの追加ですが、SystemIconsクラスにShieldプロパティが追加され、このプロパティからUACの管理者特権が必要ですという意味を示すアイコンを取得できます。

図5:アイコンをボタンに設定した例
図5:アイコンをボタンに設定した例

 なお、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クラス
  • Event Tracing for Windows(ETW)を利用するためのクラスです
  • PipeClientStream クラス
  • 匿名(AnonymousPipeClientStream)、名前付き(NamedPipeClientStream)のパイプ処理を提供するクラスです
  • ReaderWriterLockSlimクラス
  • ReaderWriterLockに変わる軽量のロック機構を提供するクラスです
  • TimeZoneInfoとDateTimeOffsetクラス
  • TimeZone、DateTimeに変わる新しいタイムゾーン処理のためのクラスです

 これら以外の新機能の詳細については、MSDNライブラリの.NET Framework 3.5の新機能も合わせて参照してください。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2008/04/09 16:23 P3.ラムダ式 戻り値の型指定ができない点について訂正して追記

  • 2008/03/17 17:13 ソース「拡張メソッドの定義(C#)」のtypo修正:target => source

著者プロフィール

  • WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:Visual Studio 2008徹底入門

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5