System.Runtime.Serialization.Formatters.Binary.ObjectReader.FastBindToType C# (CSharp) Method

FastBindToType() private method

private FastBindToType ( string assemblyName, string typeName ) : Type
assemblyName string
typeName string
return System.Type
        internal Type FastBindToType(string assemblyName, string typeName)
        {
            Type type = null;

            TypeNAssembly entry = (TypeNAssembly)_typeCache.GetCachedValue(typeName);

            if (entry == null || entry.AssemblyName != assemblyName)
            {
                Assembly assm = null;
                try
                {
                    assm = Assembly.Load(new AssemblyName(assemblyName));
                }
                catch { }

                if (assm == null)
                {
                    return null;
                }

                if (_isSimpleAssembly)
                {
                    GetSimplyNamedTypeFromAssembly(assm, typeName, ref type);
                }
                else
                {
                    type = FormatterServices.GetTypeFromAssembly(assm, typeName);
                }

                if (type == null)
                {
                    return null;
                }

                // before adding it to cache, let us do the security check 
                CheckTypeForwardedTo(assm, type.Assembly, type);

                entry = new TypeNAssembly();
                entry.Type = type;
                entry.AssemblyName = assemblyName;
                _typeCache.SetCachedValue(entry);
            }
            return entry.Type;
        }