public IEnumerable<ProjectReference> Execute(AuditEntryParameters parameters)
 {
     var types =
         from type in parameters.ProjectMetadata.TypesDefinitions
         where type.IsInterface ||
           (type.BaseType != null &&
             type.BaseType.Scope.MetadataScopeType == MetadataScopeType.AssemblyNameReference)
         select type;
     var worker = new InterfacesTypeWorker();
     return
         (from type in types
            from reference in worker.Execute(type, parameters)
            select reference).Distinct().ToList();
 }
 public TypesAttributesEntry()
 {
     m_interfacesTypeWorker = new InterfacesTypeWorker();
     m_classTypeHierarchyWorker = new ClassTypeHierarchyWorker();
 }
 public MemberReferencesWorker()
 {
     m_interfacesTypeWorker = new InterfacesTypeWorker();
     m_classTypeHierarchyWorker = new ClassTypeHierarchyWorker();
 }
 public DependentAssembliesEntry()
 {
     m_interfacesTypeWorker = new InterfacesTypeWorker();
     m_classTypeHierarchyWorker = new ClassTypeHierarchyWorker();
     m_memberReferencesWorker = new MemberReferencesWorker();
 }