What is “Common Language Runtime” (CLR)?
CLR is .NET equivalent of Java Virtual Machine (JVM). It is the runtime that converts a MSIL code into the host machine language code, which is then executed appropriately. The CLR is the execution engine for .NET Framework applications. It provides a number of services, including: – Code management (loading and execution) – Application memory isolation – Verification of type safety – Conversion of IL to native code. – Access to metadata (enhanced type information) – Managing memory for managed objects – Enforcement of code access security – Exception handling, including cross-language exceptions – Interoperation between managed code, COM objects, and pre-existing DLL’s (unmanaged code and data) – Automation of object layout – Support for developer services (profiling, debugging, and so on). What are Attributes? Attributes are declarative tags in code that insert additional metadata into an assembly. There exist two types of attributes in the .NET Framework: Predefined attributes such