Building a Remotable Type
To enable objects in other application domains to use an instance of your class, your class must inherit from MarshalByRefObject. The following code example shows a simple object that can be created and invoked from objects executing in another application domain.
' RemotableType.vb Imports System Public Class RemotableType Inherits MarshalByRefObject Private _internalString As String = "This is the RemotableType." Public Function StringMethod() As String Return _internalString End Function 'StringMethod End Class 'RemotableType [C#] // RemotableType.cs using System; public class RemotableType : MarshalByRefObject{ private string _internalString = "This is the RemotableType."; public string StringMethod(){ return _internalString; } }
The class in this example is standard in every way except that it inherits from MarshalByRefObject. To compile this class into a library using the command-line tools that ship with the .NET Framework SDK, save it as RemotableType.language-extension (or use another file name of your choice, where the language extension is the language you want to compile). At the command prompt in the directory in which you saved the file, type the following command:
vbc /t:library RemotableType.vb
csc /noconfig /t:library RemotableType.cs
In this command, the file name is as follows:
RemotableType.vb
RemotableType.cs
See Also
Building a Basic .NET Remoting Application | Configuration | Activation | MarshalByRefObject