.NET TIPS 手軽にプロパティを実装するには?[C#、VS 2008、3.5]デジタルアドバンテージ 一色 政彦2008/05/01 |
![]() |
Visual Studio 2008(厳密には.NET Framework 3.5)のC#(=Visual C# 2008)では、「プロパティの自動実装」(Automatic Implementation of Property)という機能が搭載され、効率的にプロパティを実装できるようになっている。
例えば従来(=Visual Studio 2005以前)では、プロパティは次のように記述していた。
|
|
| Visual Studio 2005以前における通常のプロパティ記述 |
これをVisual Studio 2008の「プロパティの自動実装」機能による記述に書き換えると、次のようになる。
|
|
| Visual Studio 2008における「プロパティの自動実装」によるプロパティ記述 |
要するに、Visual Studio 2005以前ではプロパティを実装する際に(基本的に)上記コードの「myVar」のようなフィールド変数が必要となるが、Visual Studio 2008ではこのようなフィールド変数を省略して純粋にプロパティのみを記述できるというわけだ。なお、「プロパティの自動実装」機能を使用したプロパティ(以降、自動実装するプロパティ)にデータを設定したり取得したりするには、フィールド変数が存在しないため、クラス内部からであっても常にプロパティを使う(=経由する)必要がある。
自動実装するプロパティに関する注意点
自動実装するプロパティでは、前述のとおり、フィールド変数が省略されているが、これは文字通り「コード上の記述が省略されているだけ」で、コンパイル時に内部でフィールド変数が追加されている。この作業はVisual Studio 2008(.NET Framework 3.5)のコンパイラが自動的に行ってくれるため、開発者が意識する必要はない。
また、Visual Studio 2008(のIDE)ではプログラムを.NET Framework 2.0や3.0にも対応させられるが(マルチターゲティング機能)、この際に.NET Framework 2.0や3.0を選択していても、自動実装するプロパティを利用したプログラムは正常にコンパイルできる(どうやらVisual Studio 2008のコンパイラは[対象のフレームワーク]として.NET Framework 2.0や3.0が選択されているときでも、「プロパティの自動実装」機能を働かせてくれるようだ)。なお、自動実装するプロパティを利用したコードを、C# 3.0のコンパイラ(=.NET Framework 3.5に付属するC#のコンパイラ。csc.exeファイル)でコマンドラインによりコンパイルする場合は問題ないが、C# 2.0のコンパイラ(=.NET Framework 2.0に付属する.NET Framework 2.0および3.0のC#のコンパイラ)でコマンドラインによりコンパイルすることはできない。このため、C# 2.0のコンパイラでコマンドラインによりビルドする可能性がある場合は、「プロパティの自動実装」機能を使用できないので注意してほしい。
自動実装するプロパティを手軽に記述するには?
自動実装するプロパティを記述するには、コード・エディタ上で「prop」と入力してコード・スニペット機能を活用すると便利だ。実際の手順は、次の画面を参考にしてほしい。
(「prop」と入力すると、IntelliSenseが表示される) |
![]() |
([Tab]キーを押すと、自動実装するプロパティの記述が追加される) |
([Tab]キーを押すことで、色が付いているカスタム部分へ移動できる) |
自動実装するプロパティを手軽に記述する手順 |
このようにして記述した自動実装するプロパティでは、getアクセサ(getter)とsetアクセサ(setter)の両方が追加されるが、この片方を消すようなことはできないので注意してほしい。読み取り専用や書き込み専用のプロパティを作りたい場合には、getアクセサやsetアクセサの前に「private」アクセス修飾子を記述して(=クラス外部からgetアクセサやsetアクセサにアクセスできないようにして)対応すればよい。![]()
| 利用可能バージョン:.NET Framework 3.5 カテゴリ:Visual Studio 2008 処理対象:IDE カテゴリ:C# 処理対象:言語構文 |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



