Jak uzyskać obiekt klasy bez referencji?

Jak uzyskać obiekt klasy bez referencji?
WC
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 7 lat
0

Istnieje tylko 1 instancja klasy X, ale nie mamy do niej referencji. Znamy pełną nazwę klasy z przestrzeniami nazw i plik assembly, w którym się znajduje. Czy da się uzyskać referencję do instancji klasy X, która została gdzieś w innym miejscu utworzona? Nie mam dostępu do tablicy z referencjami (jest oznaczona jako internal).

edytowany 1x, ostatnio: WebCM
KR
  • Rejestracja:prawie 16 lat
  • Ostatnio:6 miesięcy
  • Postów:2514
0

cos mieszasz. w assembly znajduja sie tylko informacje o typach, przestrzeniach nazw, kod posredni itp. jesli Twoja klasa to singleton to na pewno udostepnia metode statyczna typu GetInstance.


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 1x, ostatnio: krwq
WC
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 7 lat
0

Klasa może mieć singleton lub nie. Znamy tylko jej nazwę i plik assembly, z którego pochodzi. Wiemy, że instancja jest już utworzona i chcemy do niej dotrzeć.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:6 dni
  • Lokalizacja:Wrocław
0

"Gdzieś w innym miejscu", czyli dokładnie gdzie? W innym procesie?

Sarrus
  • Rejestracja:prawie 14 lat
  • Ostatnio:8 dni
  • Postów:2512
0

Dostać się "z innego miejsca" można jedynie do statycznego obiektu. Opisz co tworzysz i pokaż kod, bo masz najwyraźniej błędy projektowe

somekind
Albo pisze coś megahaksiorskiego. W sumie zagadka ciekawa - znajdź obiekt w pamięci RAM. :)
Sarrus
Wskazówka: możesz wykryć sygnaturę energii jaką po sobie pozostawia
somekind
E tam, od razu pole thaumiczne. :P
WC
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 7 lat
0

Udało się uzyskać dostęp do tablicy prywatnej za pomocą Type.InvokeMember(). Problem rozwiązany.

edytowany 2x, ostatnio: WebCM
KR
<url=link>cos</url>
somekind
Nie ma to jak dobrze opisać swój problem.
Sarrus
  • Rejestracja:prawie 14 lat
  • Ostatnio:8 dni
  • Postów:2512
1

Najprawdopodobniej problem wcale nie jest rozwiązany. Obchodzisz problem wynikający z błędu projektowego najpewniej. Wyjdą Ci z tego kolejne problemy i kolejne obejścia, które to niechybnie prowadzą do kodu spaghetti.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.