C# Refleksja a dziedziczenie sealed

Odpowiedz Nowy wątek
2019-01-01 14:32
0

Jako, że ostatnio bywałem na kilku rozmowach o pracę, w kilku różnych miejscach kilka razy padło pytanie o to czy rozumiem refleksję i jakie są jej niebezpieczeństwa.
na pierwszej rozmowie niewiele widziałem, to postanowiłem się dokształcić, ale jednak powstała inna zagwozdka.
W innej firmie zapytano mnie, czy znam jakiś sposób, żeby dziedziczyć po klasie, która jest sealed.
no i żadem nie przyszedł mi do głowy. :(
ale teraz tak zastanawiam się, czy właśnie nie pomoże w tym refleksja?
Jest taka opcja? Jakie znacie inne pomysły na dziedzicznie sealed?
( żeby nie robić miny debila na rozmowie)

Pozostało 580 znaków

2019-01-01 16:39
0

Można refleksją zbudować klasę w locie (przydają się do tego klasy AssemblyBuilder, ModuleBuilder i TypeBuilder) i klasa taka może dziedziczyć z innej, ale jeśli jako bazową podamy klasę sealed, to dostaniemy wyjątek.

Byłoby strasznie mylące, gdyby coś takiego było w ogóle możliwe. Skoro dana klasa jest oznaczona jako sealed, to znaczy, że metody przyjmujące argumenty jej typu nie są tworzone z myślą o radzeniu sobie z jej potomkami. Jeśli dałoby się to obejść refleksją, to ktoś zapewne by tak zrobił i kod mógłby zacząć zachowywać się niestabilnie.

Następnym razem powiedz, że jeśli potrzebują czegoś takiego, to chyba mają jakieś duże problemy z designem.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
Skąd wiesz, że nie szukali na pozycję C#/.NET Architecture Hacker lub z Experience in Architectural Workarounds & Hacks? - WeiXiao 2019-01-01 16:52
To jakieś inne nazwy na Junior Spaghetti Developer? - somekind 2019-01-01 16:56

Pozostało 580 znaków

2019-01-01 18:08
3

Przy takich pytaniach warto dociekać po co i dlaczego chcą to zrobić. Niektórzy oczekują że będziesz kombinował, ale fakt faktem jest to pytanie w stylu idiotycznych i powinna zapalić Ci się czerwona lampka, że w tej firmie może być jakaś jazda w projekcie.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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