It contains the data about the object that is the Name of an object, the bases, interfaces implemented in that object and also the types and members of an object etc.
It contains the information about the assembly like identity of an assembly, Scope of the assembly and also contains the security permissions.
During Run Time, the CLR invokes the JIT compiler to convert the MSIL into Native code (i.e. Executable Binary Code). When the Function is called, the IL of the function’s body is converted to Native code Just In Time.
- Standard JIT
Class is the collection of object and it will contain member variables and member functions.
List of Classes available:
Static class: Static classes are sealed and therefore cannot be inherited. Static classes cannot contain a constructor, although it is still possible to declare a static constructor to assign initial values or set up some static state
Sealed class: Sealed classes are used to restrict the inheritance feature of object oriented programming. Once a class is defined as sealed class, this class cannot be inherited.
Abstract class: Abstract class can simply defined as incomplete class. It contains one or more incomplete methods called abstract methods. It leaves the implementation of these methods to derived or sub classes. Since abstract classes are incomplete, they can not be instantiated
It means “Ability to take more than one form”. An operation may exhibit different behavior and different instances. Behavior is depends upon the operation.
Polymorphism is the ability for classes to provide different implementations of methods that are called by the same name.
1. Compile Time Polymorphism
2. Runtime Polymorphism
Compile time polymorphism is done by functions and operators overloading.
Runtime time polymorphism is done using inheritance and virtual functions.
It is the building block of an application which provides all required execution information to “CLR” and also the Assembly is physical grouping of logical units.
- Public Assembly
This is used by multiple applications and this is stored in Global Assembly Catch (GAC). We have to give cryptographically Strong Name for these shared assemblies.
- Private Assembly:
This is used by a single application and this assembly is stored in that application installation folde
See more Here