·Because
C# classes are reference types, they expose no physical
implementation detail to a client. What
the client creates on its stack frames are simply handles
to the class implementations.
·
–The
compiler does type checking for a client from metadata in an accessed
assembly.
–No header file is included, so the client is not
dependent on implementation details of the class.
–
–Consequently,
any C# library dll can serve as a component for local access.
–
–To
make a component remotely accessible, you need to derive from
System.MarshalByRefObject