Programming languages, Managed modules, Metadata - Object-oriented programming

Programming Languages ​​

Since managed applications developed using all available programming languages ​​on the .NET platform are not compiled into processor instructions (machine instructions), but to CIL intermediate language operators, then the choice of programming language is almost a matter of personal preference. The term general language in the phrase general language runtime indicates that the CLR is indifferent to the programming language. Microsoft provides compilers that create modules in the intermediate CIL language for four programming languages: C #, C ++, Visual Basic, and JScript.

The .NET Framework Software Development Kit (SDK) includes the CIL-ILASM assembler, so if you want, you can write applications directly in CIL. Different companies supply compilers for other languages, including Perl, Python, Eiffel and even COBOL.

Regardless of the programming language in which managed applications are written, they use the same Application Program Interface (API): a .NET Framework FCL class library (Framework Class Library).

Managed Modules

As a result of processing the source code of the program, the compiler capable of converting it into CIL statements produces an managed module (managed module), designed to run under the CLR. Files containing such modules have extensions such as EXE, DLL or NETMODULE. Managed modules contain the following main elements:

file header Windows Portable Executable (PE);

CLR header containing information such as the location of the CIL and metadata code;

metadata describing all types of data that are contained within the module, and links to other used modules;

CIL commands , created by compiling source code.

Metadata is a mandatory component of a managed module, created by each CIL-compliant compiler. With metadata, the managed module describes itself. Using metadata, you can easily find out which (classes, interfaces, etc.) are contained in the managed module.


The basic module metadata is stored as a set of tables. In one of them (TypeDef) are listed the types defined in this module. The other table lists the methods implemented by these types, in the third one - the fields, in the fourth - the properties, etc. Using these tables, you can compile a list of all data types defined in the module, as well as the elements that make up each type. Some tables list references to external types (types and type elements in other modules used by this module), assemblies that contain external types, and others.

The metadata format for an application developer is of little interest. However, the .NET Framework SDK includes an ILDASM utility that allows you to view the contents of managed modules.

Also We Can Offer!

Other services that we offer

If you don’t see the necessary subject, paper type, or topic in our list of available services and examples, don’t worry! We have a number of other academic disciplines to suit the needs of anyone who visits this website looking for help.

How to ...

We made your life easier with putting together a big number of articles and guidelines on how to plan and write different types of assignments (Essay, Research Paper, Dissertation etc)