internal bool CanSmuggle()
{
// make sure this isn't a derived class or an ObjRefLite
if ((this.GetType() != typeof(ObjRef)) || IsObjRefLite())
return false;
Type typeOfTypeInfo = null;
if (typeInfo != null)
typeOfTypeInfo = typeInfo.GetType();
Type typeOfChannelInfo = null;
if (channelInfo != null)
typeOfChannelInfo = channelInfo.GetType();
if (((typeOfTypeInfo == null) ||
(typeOfTypeInfo == typeof(TypeInfo)) ||
(typeOfTypeInfo == typeof(DynamicTypeInfo))) &&
(envoyInfo == null) &&
((typeOfChannelInfo == null) ||
(typeOfChannelInfo == typeof(ChannelInfo))))
{
if (channelInfo != null)
{
foreach (Object channelData in channelInfo.ChannelData)
{
if (!(channelData is CrossAppDomainData))
{
return false;
}
}
}
return true;
}
else
{
return false;
}
} // CanSmuggle