The compiler knows a lot about the program you are writing. He knows each class you programmed, the names of the methods, the arguments that they take. Traditionally, compilers threw this extra information about your program away after they generated executable code for your program.
.NET, . . .NET.exe DLL , . System.Type .
, , . [].
. . , . , . , , , . - , .