Skip to: Site menu | Main content

Autor

Chłopak z Bałut (Dołów), po uniwerku i stypendium. Wiecznie zestresowane, przemądrzałe bezguście. Więcej na stronie domowej.

Pytanie o Reflection

Klepanie

Ktoś w ekipie układającej API dotnetowego reflection wpadł na bardzo fajny pomysł, żeby wszystkie XBuildery dziedziczyły po odpowiadających im typach X. I tak TypeBuilder dziedziczy po Type, AssemblyBuilder dziedziczy po Assembly, MethodBuilder dziedziczy po MethodInfo itd. Sprytne, nie?

Zauroczony programista siada zatem i pisze... zakładając że skoro inżynierowie Microsoftu tak ładnie to zaprojektowali, to równie ładnie to zaimplementowali. Wszystko sobie fajnie zaplanował, ułożył struktury danych itd... aż do momentu, kiedy po raz pierwszy uruchomi swój program.

Oto nagle okazuje się, że próba wywołania metody GetMethods na obiekcie klasy Type zwraca metody reprezentowanego przez niego typu, ale ta sama metoda wywołana na obiekcie typu TypeBuilder zgłasza wyjątek NotSupportedException. WTF? - ja się pytam. Jak mam to rozumieć? Nie umieliśmy tego zaimplementować? Nie chciało nam się tego zaimplementować? Czy ktoś mi może wytłumaczyć skąd takie zachowanie? Dlaczego muszę sam implementować coś, co (według MSDNu) mam w bibliotece? Dlaczego dokumentacja milczy na ten temat?

30 sierpnia 2006, 21:20:13

Komentarze

Treść komentarza można formatować zgodnie ze składnią Textile.
Odpowiedzi śledzić można przy pomocy RSS RSS .