タイトル | : プロパティの定義方法で疑問 |
記事No | : 7751 |
投稿日 | : 2008/06/28(Sat) 21:39 |
投稿者 | : ダンボ |
VB,net文法で、わけが分からなくなったので、解説お願いします。
2つのプロパティ(OpenProp、CloseProp)を定義した場合、 Public Class TestClass Public OpenProp As Integer Private _CloseProp As Integer Public Property CloseProp() As Integer Get Return _CloseProp End Get Set(ByVal value As Integer) _CloseProp = value End Set End Property End Class Public Class Test Dim Testobj As TestClass = New TestClass Testobj.OpenProp=1 '←この文はエラー「宣言が必要です。」 Testobj.CloseProp=2 '←この文はエラー「宣言が必要です。」 Dim i As Integer = Testobj.OpenProp '文法エラーにはならない Dim j As Integer = Testobj.CloseProp '文法エラーにはならない End Class
質問1:なんでコンパイルエラーになるのでしょうか? 質問2:プロパティを使う側としては、OpenPropもClosePropも使い勝手は同じなのに なぜ2通りの書き方ができるのでしょうか?どんな違いがあるのでしょうか?
|