public void RegisterCodeGenerators(Assembly assembly) { var newMetaCodeGenerators = assembly .GetTypes() .Where(type => MetaCodeGenerator.IsCodeGeneratorType(type)) .Select(codeGeneratorType => new MetaCodeGenerator(codeGeneratorType)); foreach (MetaCodeGenerator metaCodeGenerator in newMetaCodeGenerators) { RegisterCodeGenerator(metaCodeGenerator); } }