Saturday, March 07, 2009

Visual Studio 2010 CTP で ILDASM を使用する方法について説明します。

まずは IDE のメニューで [Tools]-[External Tools]を選択します。External Toolsダイアログが表示されます。

次に

  1. [Add]ボタンをクリック
  2. Title欄 に「ILDASM」と入力
  3. Command欄に C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe と入力
  4. Arguments欄に $(TargetPath) と入力
  5. Use Output Windowチェックボックスにチェックを付ける
  6. [OK]を押してダイアログを閉じる

これでメニューの[Tools]から ILDASM を起動できるようになります。

Saturday, March 07, 2009 12:16:30 AM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback

けろ-みおさんより

[VB2010]自動実装プロパティ の記事に

>仕組み上、本当に等価であるのか?ILDASMの結果を掲載してもらえると嬉しいです。

というコメントををいただいたので調べてみました。

まず class1 と class2 というクラスを準備し、

class1にはこれまで通りの書き方でプロパティを作成

class2には自動実装プロパティを作成

コードは下記の通りです。

これを ILDASM で比較表示してみました。

上記の結果から、これまでの「書き方と自動実装プロパティは等価である」と言うことを証明できました。


ついでなので VS2010 CTP の C# の方も見てみました。

VB.NETと同じように、class1にはこれまで通りの書き方で、class2には自動実装プロパティで書きました。

ちなみに C#の方はたしか 3.0 のバージョンから自動実装プロパティが使用できるようになったと記憶しています。

 

 

で ILDASM の結果は下記の通りです。

class2の方では裏で<employee>k__BackingField という private stringが作成されていることがわかります。

これはMSDNの自動実装するプロパティ (C# プログラミング ガイド) で バッキングフィールド という名称で説明がされています。

ということで、C#の方は厳密には等価ではないことがわかります。

Saturday, March 07, 2009 12:01:06 AM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Thursday, March 05, 2009

自動実装プロパティは英語では Auto-implemented Properties と呼ばれています。

この自動実装プロパティは C# ではすでに搭載されおり、VB.NETは次期バージョン(VB2010)からサポートされることになります。

これまでプロパティは下記のように記述していたかと思います。


Private _employee As String
Public Property employee() As String
    Get
        Return _employee
    End Get
    Set(ByVal value As String)
        _employee = value
    End Set
End Property

VB2010 では、これと等価なプロパティを

Public Property Employee As String

のように1行で記述することが可能です。

ただし読み取り専用(ReadOnly)や書き込み専用(WriteOnly)プロパティは、自動実装プロパティとして作成することが出来ませんでした。

下記のように


Public ReadOnly Property Employee() As String

Public WriteOnly Property Employee() As String

などと記述できたら良いと思うのですが皆さんはどう思いますか?



Thursday, March 05, 2009 10:27:00 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [1]  |  Trackback

行継続文字は行連結文字と呼ばれることもあります。(このページでは行継続文字と表記します)

コードエディタでコードを記述する際、ステートメントが長くなると横スクロールをする必要がでてきます。

ステートメントが長いことは問題ないのですが、読みにくいため複数行に分けて記述することを検討する必要があります。

VB2008までは、行を分割する際に アンダースコア(_)を使用していました。

たとえばメッセージボックスのステートメントは下記のように行継続文字で複数行に分けて書くことが可能です。



コードを見ていただければわかりますが、1つのステートメントを4行に分割するには、行継続文字が3つ必要です。


VB2010における行継続文字

VB2010では、行継続文字を省略することが可能となりました。

これにより以前のように行分割位置に毎回アンダースコアを記述する必要がなくなりました。

この機能は多くのVBユーザーが待ち望んでいたのではないでしょうか?

ちなみに、これまでどおり行継続文字を使用しての行分割も可能です。

Thursday, March 05, 2009 10:22:54 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback

Theme design by Jelle Druyts

Pick a theme: