Visual C# 2010 の新機能

このページでは、Visual C# 2010 で使用できる新機能と強化された機能を紹介します。 これらの新機能は互いに連携して、Microsoft Office のプログラマビリティの向上、コードの探索機能の強化、テスト駆動開発のサポートなどを実現します。 詳細については、「Visual Studio 2010 製品の主な強化点」を参照してください。

各機能の詳細を参照するには、以下のセクションのリンクをクリックしてください。

C# 4.0 言語およびコンパイラ

動的サポート

Visual C# 2010 では、動的な型の遅延バインディングをサポートするために、dynamic という新しい型が導入されました。 この拡張により、Office オートメーション API などの COM API、IronPython ライブラリなどの動的 API、および HTML ドキュメント オブジェクト モデル (DOM: Document Object Model) へのアクセスが容易になるなど、さまざまな新しいシナリオに対応できるようになります。 詳細については、「dynamic 型の使用 (C# プログラミング ガイド)」および「dynamic (C# リファレンス)」を参照してください。

Office のプログラマビリティ

名前付き引数と省略可能な引数、dynamic 型、インデックス付きプロパティ、および省略可能な ref 修飾子の追加により、Office オートメーション API などの COM インターフェイスへのアクセスが大幅に向上しました。

詳細については、「名前付き引数と省略可能な引数 (C# プログラミング ガイド)」、「dynamic 型の使用 (C# プログラミング ガイド)」、「方法: COM 相互運用機能を使用したプログラミングでインデックス付きプロパティを使用する (C# プログラミング ガイド)」、および「方法: Visual C# 2010 の機能を使用して Office 相互運用オブジェクトにアクセスする (C# プログラミング ガイド)」を参照してください。

型の同値のサポート

プライマリ相互運用機能アセンブリ (PIA: Primary Interop Assembly) からインポートされた型情報の代わりに埋め込み型情報を持つアプリケーションを配置できるようになりました。 埋め込み型情報を含むアプリケーションでは、ランタイム アセンブリまたはプライマリ相互運用機能アセンブリ (PIA) への参照を必要とせずにアセンブリの型を使用できます。 ランタイム アセンブリのバージョンが多数公開されている場合、埋め込み型情報を含むアプリケーションは、再コンパイルしなくても各種バージョンと共に使用できます。 詳細については、「/link (C# コンパイラ オプション)」を参照してください。 例については、「チュートリアル: マネージ アセンブリからの型の埋め込み (C# および Visual Basic)」を参照してください。

共変性と反変性

共変性はジェネリック パラメーターによって指定された型よりも強い派生型を使用できるようにする機能であり、反変性はその逆に弱い派生型を使用できるようにする機能です。 これにより、バリアント インターフェイスを実装するクラスの暗黙の型変換が可能となり、メソッド シグネチャとバリアント デリゲート型をより柔軟に対応付けできます。 バリアント インターフェイスおよびバリアント デリゲートは、新しい言語キーワードである inout を使用して作成します。 .NET Framework には、既存のいくつかのジェネリック インターフェイスおよび汎用デリゲート (IEnumerable<T> インターフェイスや Func<TResult> および Action<T> デリゲートなど) に関する分散のサポートも導入されています。 詳細については、「共変性と反変性 (C# および Visual Basic)」を参照してください。

新しいコマンド ライン オプション

/langversion コマンド ライン オプションをコンパイラに指定すると、指定したバージョンの C# で有効な構文のみが受け入れられます。

/appconfig コンパイラ オプションを使用すると、C# アプリケーションからコンパイラに対して、アセンブリのアプリケーション構成ファイルの場所を指定できます。

Visual C# 統合開発環境

以降のセクションでは、Visual Studio 統合開発環境 (IDE) に加えられた機能強化について説明します。

呼び出し階層

呼び出し階層を使用すると、次の項目を表示することによってコード内を移動できます。

  • 選択したメソッド、プロパティ、またはコンストラクターのすべての呼び出し先および呼び出し元

  • インターフェイス メンバーのすべての実装

  • 仮想メンバーまたは抽象メンバーのすべてのオーバーライド

これにより、コードの流れが理解しやすくなり、コードの変更の影響を評価できます。 詳細については、「呼び出し階層」を参照してください。

移動

[移動] 機能を使用して、ソース コード内のシンボルやファイルを検索できます。 シンボルを複数のキーワードに分ける Camel 形式およびアンダースコア文字を使用して、シンボルに含まれているキーワードを検索できます。

詳細については、「方法 : オブジェクト、定義、および参照 (シンボル) を検索する」を参照してください。

参照の強調表示

ソース コードでシンボルをクリックすると、ドキュメント内にあるそのシンボルのすべてのインスタンスが強調表示されます。 強調表示された次のシンボル、または前のシンボルに移動するには、Ctrl キーと Shift キーを押しながら下方向キーを押すか、Ctrl キーと Shift キーを押しながら上方向キーを押します。 詳細については、「方法: 参照の強調表示を使用する」を参照してください。

使用法から生成

使用法から生成機能を使用すると、クラスやメンバーを定義前に使用できます。 現在のコード位置から離れずに、未定義のクラス、コンストラクター、メソッド、プロパティ、フィールド、または列挙型のスタブを生成できます。 これにより、ワークフローの中断を最小限に抑えられます。

使用法から生成機能は、テスト ファースト開発などのプログラミング スタイルを支援します。 詳細については、「使用法から生成」および「チュートリアル: 使用法から生成機能のテスト ファーストのサポート」を参照してください。

IntelliSense 候補提示モード

現在、IntelliSense のステートメント入力候補には、入力候補モードと候補提示モードの 2 種類があります。 候補提示モードは、クラスやメンバーを定義前に使用する場合に使用します。 詳細については、「メンバーの一覧」を参照してください。

有効なセマンティック エラー

有効なセマンティック エラー機能が Visual C# 2010 で強化されました。 入力時に波線の下線を使用してエラーや警告を知らせる機能が強化され、メソッド宣言の戻り値の型、パラメーターの型、既定値など、メソッド本体の外部にある構成要素が含まれるようになりました。

サンプル アプリケーション

Visual C# 2010 には、新しい C# の機能を使用して Office プログラミングを容易にする方法、IronPython ライブラリにアクセスする方法、動的オブジェクトを作成する方法、共変および反変の汎用デリゲートを使用する方法などを説明するサンプル アプリケーションが付属しています。 Visual C# 言語のサンプルの詳細とそのアクセス方法については、「Visual C# のサンプル アプリケーション」を参照してください。

参照

参照

Visual Studio デバッガーの新機能

概念

Visual Studio 2010 の新機能

Visual Studio 2010 エディターの新機能

ASP.NET 4 および Visual Web Developer の新機能

配置の新機能

その他の技術情報

.NET Framework 4 の新機能