特集:新IDE「VS 2012」レビュー Visual Studio 2012の新機能 デジタルアドバンテージ 一色 政彦2012/09/04 |
|
|
■C#/VB言語の新機能
ここでは、C#とVBに共通する主なものだけを取り上げる。ちなみに、以下のほかには、VBでのみ追加された新機能などがある。具体的には、C#ではすでに実装されている「Yield文」などだ。
●非同期プログラミング(Asynchronous Programming )
C#&VB言語には、async/awaitキーワードが追加され、簡単かつ直感的に非同期処理のコードを記述できるようになった。具体的には「C# 5.0&VB 11.0新機能『async/await非同期メソッド』入門」を一読してほしい。
●呼び出し元情報(Caller Information)
C#&VB言語では、メソッドに対する呼び出し元の、ソース・ファイルのパス(CallerFilePath属性)や、そのファイル内の行番号(CallerLineNumber属性)、メンバ名(CallerMemberName属性)などの呼び出し元情報を取得できるようになった。次のコードは、呼び出し元情報を取得するコンソール・アプリケーションのサンプルだ。
|
||
呼び出し元情報を取得するコンソール・アプリケーションのサンプル・コード(上:C#、下:VB) |
これを実行すると、次のようになる。
呼び出し元情報を取得するサンプルの出力結果([出力]ウィンドウ) |
■.NET Framework 4.5の新機能
.NET 4.5の新機能についても、特に知っておいてほしいものだけを取り上げる。
●非同期ファイルI/O
.NET 4.5では、ファイル入出力を非同期処理するためのAPIが追加されている。具体的には、Streamクラス(System.IO名前空間)にReadAsync/WriteAsync/CopyToAsync/FlushAsync/ReadLineAsync/ReadToEndAsyncメソッドが追加されており、Streamクラスから派生したFileStreamクラス(System.IO名前空間)やMemoryStreamクラス(System.IO名前空間)でもこれらのメソッドが利用できる。これらのメソッドを活用することで、ファイルの読み込み中にアプリケーションがフリーズしてしまうのを、簡単に避けられるようになる。
●System.Net.Http名前空間
.NET 4.5では、HTTPベースのWeb APIを呼び出すときなどに使える、今風のHTTPクライアント機能を提供するSystem.Net.Http名前空間が追加された。また、それに付随するHTTPヘッダ関連を取り扱うSystem.Net.Http.Headers名前空間も追加されている。
例えばSystem.Net.Http名前空間に所属するHttpClientクラスは、.NET 4.0以前のWebClientクラス(System.Net名前空間)に近い機能を提供する。最近はやりのREST形式のWeb APIでは、HTTPリクエストでGET/POST/PUT/DELETEなどのメソッドを使い分けるが、そのようなクライアントを実装する場合は、WebClientクラスなどの従来のものよりも新しいHttpClientクラスの方が便利だ。またHttpClientクラスは、全てのリクエストが非同期メソッドとなっており、「開発者に非同期処理の実装を強制できる」というメリットもある。
■
以上、VS 2012の新機能を画像を多用して簡単に紹介した。ただし、全てを紹介できたわけではない。特にC++言語やF#言語、ALM(Application Lifecycle Management)関連など、大幅に省いているものがいくつかある。VS 2012の新機能についてさらに詳しく知りたい場合には、まずは「MSDN:Visual Studio 2012 の新機能」という資料を参照するとよいだろう。
INDEX | ||
特集:新IDE「VS 2012」レビュー | ||
Visual Studio 2012の新機能 | ||
1.新しいプロジェクト・テンプレート/新しい項目テンプレート | ||
2.検索関連の新機能/[ソリューション エクスプローラー]関連の新機能/そのほかのIDEの新機能 | ||
3.ASP.NET関連の新機能/WPF関連の新機能/Windowsストア・アプリ関連の新機能 | ||
4.C#&VB言語の新機能/.NET Framework 4.5の新機能 | ||
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|