■No7501 (向井 さん) に返信
> 2007/09/07(Fri) 11:18:43 編集(投稿者)
>
> はじめまして。向井と申します。
>
> あるクラスのメソッドを呼び出す際、
> メソッドの引数にプロパティを渡して呼び出した場合、
> メソッドが実行された後に、引数で渡したプロパティの
> setがなぜか呼ばれます。
>
> これは.NETのバグなのでしょうか。
> それとも何か初歩的な誤りをしているだけなのでしょうか。
> 皆目見当がつかず困っております。
バグではなく仕様です。メソッドへの渡し方によります。
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 ByRefMethod(ByRef arg As Integer)
End Sub
Public Sub ByValMethod(ByVal arg As Integer)
End Sub
End Class
Public Class Program
Public Shared Sub Main()
Dim a As New ClassA
a.ByRefMethod(a.Prop)
a.ByValMethod(a.Prop)
End Sub
End Class
|