public ModuleInstanceCache(ModuleDatabase owner, Assembly assembly) { if (owner == null) { throw new ArgumentNullException("owner"); } if (assembly == null) { throw new ArgumentNullException("assembly"); } this.owner = owner; assemblyInfo = ModuleAssemblyInfo.Get(assembly); dirty = true; assemblyInfo.Inventory.AssertEngineVersion(owner.ManagementConnectionProvider.EngineVersion.Major); }
public static ModuleAssemblyInfo Get(Assembly assembly) { if (assembly == null) { throw new ArgumentNullException("assembly"); } lock (cache) { ModuleAssemblyInfo result; if (!cache.TryGetValue(assembly, out result)) { result = new ModuleAssemblyInfo(assembly); cache.Add(assembly, result); } return result; } }