1

こんにちは私はvbでクラスを作成しようとしていますが、いつクラスをインスタンス化しようとすると、クラスには値がありません

Private lat As Double
Private lon As Double

Public Property Get Longitud() As Double

Longitud = lon

End Property
Public Property Get Latitud() As Double
Latitud = lat

End Property
Public Property Let Longitud(ByVal longi As Double)

Longitud = lon

End Property

Public Property Let Latitud(ByVal lati As Double)

Latitud = lat
End Property

そして、インスタンス化しようとしているとき

Dim cord As Coordenadas
Set cord = New Coordenadas
cord.Latitud = 40.30416667
cord.Longitud = 0.22583333

コードに変化が見られない

4

1 に答える 1

2

Letプロパティは、引数として渡した値を正しく割り当てていません。次のようになります。

Private lon As Double
'

Public Property Let Longitud(ByVal longi As Double)

    lon = longi

End Property

Let値をプライベート変数(Lon)に割り当て、Getその変数内に格納されている値を取得する必要があります。

追加として、プライベートプロパティに特別なサフィックスを付けると非常に役立ちます。たとえば、pLonとpLatです。この方法では、引数とプロパティから変数を簡単に識別できます。

于 2012-09-25T08:56:43.267 に答える