AppSecInc.ProcessDomain.AssemblyResolver.FindAssemblyName C# (CSharp) Method

FindAssemblyName() private method

private FindAssemblyName ( string name ) : string
name string
return string
        private string FindAssemblyName(string name)
        {
            var assemblyName = new AssemblyName(name);
            Dictionary<AssemblyName, string> subMap;

            if (!_mapByName.TryGetValue(assemblyName.Name, out subMap))
            {
                return null;
            }

            foreach (var entry in subMap)
            {
                // do weak assembly name matching, matching only values specified in assembly name
                if (assemblyName.Version != null && assemblyName.Version != entry.Key.Version)
                    continue;

                if (assemblyName.CultureInfo != null && !assemblyName.CultureInfo.Equals(entry.Key.CultureInfo))
                    continue;

                if (!PublicKeysTokenEqual(assemblyName.GetPublicKeyToken(), entry.Key.GetPublicKeyToken()))
                    continue;

                return entry.Value;
            }

            return null;
        }