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:
Visual Basic
vbc /t:library RemotableType.vb
C#
csc /noconfig /t:library RemotableType.cs
In this command, the file name is as follows:
Visual Basic
RemotableType.vb
C#
RemotableType.cs
See Also
Building a Basic .NET Remoting Application | Configuration | Activation | MarshalByRefObject