mam następujące 2 struktur, a ja naprawdę nie rozumiem dlaczego drugi nie działa:Właściwości w strukturach: "Wyrażenie jest wartością i dlatego nie może być celem przypisania".
Module Module1
Sub Main()
Dim myHuman As HumanStruct
myHuman.Left.Length = 70
myHuman.Right.Length = 70
Dim myHuman1 As HumanStruct1
myHuman1.Left.Length = 70
myHuman1.Right.Length = 70
End Sub
Structure HandStruct
Dim Length As Integer
End Structure
Structure HumanStruct
Dim Left As HandStruct
Dim Right As HandStruct
End Structure
Structure HumanStruct1
Dim Left As HandStruct
Private _Right As HandStruct
Public Property Right As HandStruct
Get
Return _Right
End Get
Set(value As HandStruct)
_Right = value
End Set
End Property
End Structure
End Module
Bardziej szczegółowe wyjaśnienie: mam trochę przestarzały kod, który używa struktur zamiast klas. Muszę więc określić moment, w którym pole tej struktury zmieni się na niewłaściwą wartość.
Moim rozwiązaniem do debugowania była zamiana struktury złożonej przez właściwość o tej samej nazwie, a następnie po prostu ustawię wartość graniczną w selektorze właściwości, aby zidentyfikować moment, w którym otrzymuję niewłaściwą wartość ... w celu uniknięcia przepisać cały kod ... tylko dla celów debugowania.
Teraz zmierzyłem się z powyższym problemem, więc nie wiem, co robić ... tylko ustawianie punktu przerwania wszędzie, gdzie ten element struktury jest przypisany, ale jest dużo linii z tym zadaniem ...
dzięki, Kevin. Dodałem trochę wyjaśnienia, dlaczego wykonałem te testy. – serhio
@serhio Nie ma problemu, to coś, co zawsze pojawia się podczas tworzenia właściwości z typów struct (np. 'TimeSpan' na przykład). IIRC nie był to błąd kompilacji i po prostu nie działał, co było prawdopodobnie jeszcze bardziej frustrujące. –
getter zwraca kopię tej struktury ... czy mogę ją wymusić "byref"?) – serhio