Jak odczytać pole obiektu widoczne w IntelliSense?

0

Witam. Mam obiekt klasy Arc (geometria - łuk) i przy breakpoincie jak podglądam sobie jego zmienne widzę takie coś jak w załączniku, a nie mogę tego odczytać z obiektu. Chodzi mi o pole angle. Czy jest jakaś możliwość odczytać to jeśli widać je w IntelliSense? Pozdrawiam.

0

Zainteresuj się debugowaniem z Watch'em. Do Watch'a możesz wklejać na żywca obiekty, które nie są nawet jawnie użyte w kodzie, a są np. wynikiem jakiegoś selecta z kolekcji albo Twojego działania, którego w kodzie nie masz ale chciałbyś znać jego wynik itp.

0

Ale ja chciałbym odczytac ta zmienna w programie. Przydałaby mi się a nie mam do niej dostępu z poziomu kodu.

3

Nie wiem, czy to prawda, ale jeżeli nie widzisz tego pola angle, to znaczy, że jest najprawdopodobniej prywatne (albo chronione), na co też by wskazywała jego nazwa z małej litery. Czyli programista tej klasy z jakiegoś powodu stwierdził, że nie powinieneś mieć do tego dostępu ;-)

Debugger je widzi, bo przecież ono tak naprawdę tam jest - tylko, że niedostępne. Ale zgodnie z dokumentacją masz właściwości AngleInDegrees oraz AngleInRadians: http://documentation.devdept.com/80/topic2903.html.

Jeżeli naprawdę wiesz co robisz i chcesz odczytać wartość prywatnego pola, to da się to zrobic z użyciem refleksji: http://stackoverflow.com/questions/95910/find-a-private-field-with-reflection

0

Dzieki za odpowiedzi. Tak AngleInDegrees i AngleInRadians mam, ale to inna wartość niż ja potrzebuję. Jak rozwinę zakładkę "angle" to mam jeszcze zmienne StartAngle i EndAngle i wlasnie o nie mi chodzi Ja mam licencje PRO, byc moze Devdept zrobil je prywatne dla tej wersji. Ale w dokumentacji nic o tym nie ma. Dzieki raz jeszcze, sprobuje z refleksja.. Pozdrawiam.

0

Chyba zapomnieli umieścić to w dokumentacji, ale dostałem odpowiedz z supportu DevDept. Jakby ktoś potrzebował, dostęp do tych pól można uzyskać poprzez wlaściwość Arc.Domain.

1 użytkowników online, w tym zalogowanych: 0, gości: 1