The type of a remotely accessible object is a standard .NET type, with several simple restrictions.
A remotely accessible object must inherit from the MarshalByRefObject
base class, which marks it as an object to be passed by reference.
The base class also implements a reference creation method.
Only serializable types can be passed by value.
public class Example : MarshalByRefObject { public void printMessage (string message) { System.Console.WriteLine (message); } }
The code of the stubs is generated from the type description at runtime.