private static Object GetType(Object tp)
{
BCLDebug.Assert(IsTransparentProxy(tp), "IsTransparentProxy(tp)");
Type serverType = null;
RealProxy rp = GetRealProxy(tp);
Identity id = rp.IdentityObject;
BCLDebug.Assert(!(id is ServerIdentity), "(!id is ServerIdentity)");
if((null != id) && (null != id.ObjectRef) &&
(null != id.ObjectRef.TypeInfo))
{
IRemotingTypeInfo serverTypeInfo = id.ObjectRef.TypeInfo;
String typeName = serverTypeInfo.TypeName;
if (typeName != null)
{
serverType = InternalGetTypeFromQualifiedTypeName(typeName);
}
}
return serverType;
}