Blog Kokosa

.NET i okolice, wydajność, architektura i wszystko inne

NAVIGATION - SEARCH

Tajemnice CLR - jak działa GetType()

Wstęp: Jeśli jeszcze nie bywacie na devspl.slack.com to zdecydowanie polecam. Z obecnie istniejących tam 175 kanałów na pewno wybierzecie coś dla siebie. Ja zaglądam regularnie na kilka, w tym na kanał #dotnet. A tam czasem pojawiają się naprawdę ciekawe pytania! Co najmniej dwa zainspirowały mnie na tyle, że postanowiłem zainicjować nową serię pt. Tajemnice CLR. Odpowiedzi na ciekawe pytania i rozterki, na jakie się natknę. Jeśli macie pomysły - pytajcie! Czy to tu, czy na wspomnianym Slacku. Wchodzić z odpowiedziami będziemy głęboko, nie będzie tu żadnego ciu ciu babciu.

Dziś pierwsze pytanie, które zadała Angelika Piątkowska:

Jak tak naprawdę działa GetType()?

Rozszerzając to pytanie: Skąd obiekt wie jakiego jest typu? Czy to wie kompilator czy runtime? Jak się do tego ma CLR? Czy z faktu, że C# jest statycznie i silnie typowany wynika, że wywołania metody GetType() tak naprawdę nie istnieją i kompilator może je zastąpić odpowiednim wynikiem już w trakcie kompilacji? Więcej...