Q. Explain Manifest and Metadata of an Assembly
Every assembly, whether static or dynamic, contains a collection of data that describes how the elements in the
assembly relate to each other. The assembly manifest contains this assembly metadata. An assembly manifest
contains all the metadata needed to specify the assembly's version requirements and security identity, and all
metadata needed to define the scope of the assembly and resolve references to resources and classes. The assembly
manifest can be stored in either a PE file (an .exe or .dll) with Microsoft intermediate language (MSIL) code
or in a standalone PE file that contains only assembly manifest information.
Metadata is binary information describing your program that is stored either in a common language runtime portable
executable (PE) file or in memory. When you compile your code into a PE file, metadata is inserted into one portion
of the file, while your code is converted to Microsoft intermediate language (MSIL) and inserted into another
portion of the file. Every type and member defined and referenced in a module or assembly is described within
metadata. When code is executed, the runtime loads metadata into memory and references it to discover information about
your code's classes, members, inheritance, and so on.
Q. What are Generics