| ■7501 / ) |
メソッドの引数にプロパティを渡した時の挙動について |
□投稿者/ 向井 (1回)-(2007/09/07(Fri) 11:16:14)
|
分類:[VB.NET/VB2005]
2007/09/07(Fri) 11:18:43 編集(投稿者)
はじめまして。向井と申します。
あるクラスのメソッドを呼び出す際、 メソッドの引数にプロパティを渡して呼び出した場合、 メソッドが実行された後に、引数で渡したプロパティの setがなぜか呼ばれます。
これは.NETのバグなのでしょうか。 それとも何か初歩的な誤りをしているだけなのでしょうか。 皆目見当がつかず困っております。
■環境: VB.NET 2.0 ASP.NET 2.0 Visual Studio 2005
■例:ClientクラスでClassAをNewし、ClassAのメソッドを呼び出します。 この際、引数にClassAのPropプロパティを渡しています。 すると、Methodメソッドが実行された後、PropプロパティのSetが呼び出されます。 ステップ実行して頂くと、その動きが確認できます。 ※なお、ClassAのメソッドを呼び出す際に、 ClassAのプロパティを渡す必要はない、といったご指摘は無用です。 登場するクラス数を最小限にしたかったので、このような例にしたまでです。 public class Client
public sub aaa() Dim classA As New ClassA classA.Method(classA.Prop) end sub
end class
Public Class ClassA
Private prop_ As Integer
Public Property Prop() As Integer Get Return prop_ End Get Set(ByVal value As Integer) prop_ = value End Set End Property
Public Sub Method(ByRef arg As Integer)
End Sub
End Class
以上です。 どうかよろしくお願いします。
|
|