Name
Assembly
Synopsis
In the .NET environment, assemblies are the fundamental units of development and deployment; although the various languages allow the .NET programmer to work with elements as fine-grained as classes or functions, these types must belong as part of an assembly in order to be loaded and used. Consequently, the assembly is the core of the component model in .NET.
The Assembly
type is the
Reflection API object representing the assembly.
An assembly (either a .DLL or .EXE—to the CLR, there is no
difference) consists of one or more modules; most assemblies are in
fact single-module assemblies. (Multimodule assemblies are certainly
possible, but usually not necessary for most
developers’ needs. As such, they are not discussed
here.) .NET programmers can use the object model in the
Assembly
class to discover information about a
particular assembly—for example, an assembly knows the modules
contained within it, and each module knows the types defined and
bound to that module. Thus, for any random assembly, a .NET program
can enumerate each type defined inside that assembly. This is, in
fact, what the WinCV.exe sample program (see the
.NET SDK, in the \bin subdirectory) does. (The
ILDasm.exe application provides similar results,
but uses unmanaged APIs to view into an assembly, rather than
Reflection.)
The Assembly
API can be broken into
two collections: those representing
operations against a particular assembly (indicated by a particular
Assembly
instance), and those ...
Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.