Exemple #1
0
        private void AddAssemblyToCache(Assembly assembly)
        {
            var cachedAssembly = new CachedAssembly(assembly);

            CachedAssemblies.Add(cachedAssembly.FullName, cachedAssembly);

            Options.Logger?.Log($"Cached assembly '{assembly.GetName().Name}'");
        }
Exemple #2
0
        private void CacheTypes(CachedAssembly cachedAssembly)
        {
            if (cachedAssembly.TypesAndExtensionsAreCached)
            {
                return;
            }

            foreach (var type in cachedAssembly.Assembly.GetExportedTypes())
            {
                if (Options.ExcludedTypes.Contains(type))
                {
                    Options.Logger?.Log($"Type '{type.Name}' is excluded from processing.");
                }
                else
                {
                    var cachedType = new CachedType(type);
                    CachedTypes.Add(cachedType.Type, cachedType);

                    Statistics.CachedTypes++;
                }
            }
        }