private int ResolveAssemblyRef(IMetadataModule module, ref TypeRefRow typeRef) { AssemblyRefRow arr; string ns, name; module.Metadata.Read(typeRef.TypeNameIdx, out name); module.Metadata.Read(typeRef.TypeNamespaceIdx, out ns); module.Metadata.Read(typeRef.ResolutionScopeIdx, out arr); IAssemblyLoader loader = RuntimeBase.Instance.AssemblyLoader; IMetadataModule dependency = loader.Resolve(module.Metadata, arr); for (int i = GetModuleOffset(dependency).TypeOffset; i < _types.Length; i++) { RuntimeType type = _types[i]; if (null != type && ns.Length == type.Namespace.Length && name.Length == type.Name.Length && name == type.Name && ns == type.Namespace) { return(i); } } throw new TypeLoadException(); }