This documentation is archived and is not being maintained.

IRemotingTypeInfo Interface

Provides type information for an object.

Namespace:  System.Runtime.Remoting
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
<ComVisibleAttribute(True)> _
Public Interface IRemotingTypeInfo
'Usage
Dim instance As IRemotingTypeInfo

Use this interface to provide custom type information that is carried along with the ObjRef objects.

Dim objRefSample As ObjRef = RemotingServices.GetObjRefForProxy(myRemoteObject)
Console.WriteLine("***ObjRef Details***")
Console.WriteLine("URI:" + ControlChars.Tab + "{0}", objRefSample.URI)
Dim channelData As Object() = objRefSample.ChannelInfo.ChannelData
Console.WriteLine("Channel Info:")
Dim o As Object
For Each o In  channelData
   Console.WriteLine(ControlChars.Tab + "{0}", o.ToString())
Next o
Dim envoyInfo As IEnvoyInfo = objRefSample.EnvoyInfo
If envoyInfo Is Nothing Then
   Console.WriteLine("This ObjRef does not have envoy information.")
Else 
   Dim envoySinks As IMessageSink = envoyInfo.EnvoySinks
   Console.WriteLine("Envoy Sink Class: {0}", envoySinks)
End If 
Dim typeInfo As IRemotingTypeInfo = objRefSample.TypeInfo
Console.WriteLine("Remote type name: {0}", typeInfo.TypeName)
Console.WriteLine("Can my object cast to a Bitmap? {0}", typeInfo.CanCastTo(GetType(System.Drawing.Bitmap), objRefSample))
Console.WriteLine("Is this object from this AppDomain? {0}", objRefSample.IsFromThisAppDomain())
Console.WriteLine("Is this object from this process? {0}", objRefSample.IsFromThisProcess())
	ObjRef* objRefSample = RemotingServices::GetObjRefForProxy(myRemoteObject);
	Console::WriteLine(S"***ObjRef Details***");
	Console::WriteLine(S"URI:\t {0}", objRefSample->URI);
	Object* channelData[] = objRefSample->ChannelInfo->ChannelData;
	Console::WriteLine(S"Channel Info:");
	IEnumerator* myEnum = channelData->GetEnumerator();
	while (myEnum->MoveNext()) 
	{
		Object* o = __try_cast<Object*>(myEnum->Current);

		Console::WriteLine(S"\t {0}", o);
		IEnvoyInfo* envoyInfo = objRefSample->EnvoyInfo;
		if (envoyInfo == 0) 
		{
			Console::WriteLine(S"This ObjRef does not have envoy information.");
		}
		else 
		{
			IMessageSink* envoySinks = envoyInfo->EnvoySinks;
			Console::WriteLine(S"Envoy Sink Class: {0}", envoySinks);
		}
		IRemotingTypeInfo* typeInfo = objRefSample->TypeInfo;
		Console::WriteLine(S"Remote type name: {0}", typeInfo->TypeName);
		Console::WriteLine(S"Can my Object cast to a Bitmap? {0}",
			__box(typeInfo->CanCastTo(__typeof(System::Drawing::Bitmap), objRefSample)));
		Console::WriteLine(S"Is this Object from this AppDomain? {0}", __box(objRefSample->IsFromThisAppDomain()));
		Console::WriteLine(S"Is this Object from this process? {0}",  __box(objRefSample->IsFromThisProcess()));

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Show: