Ejemplo n.º 1
0
        /// <summary>
        /// Factory method for creating new DocumentMappers.
        /// </summary>
        /// <include file='code-documentation\members.xml' path='members/member[@name="DocumentMapper"]/entry[@name="Create"]'/>
        public static IDocumentMapper Create(List <DocumentedAssembly> assemblies,
                                             Mappers typeOfMapper,
                                             bool useObservableCollection,
                                             EntryCreator creator)
        {
            DocumentMapper mapper = null;

            switch (typeOfMapper)
            {
            case Mappers.AssemblyFirst:
                mapper = new AssemblyFirstDocumentMapper(assemblies, useObservableCollection, creator);
                break;

            case Mappers.NamespaceFirst:
                mapper = new NamespaceFirstDocumentMapper(assemblies, useObservableCollection, creator);
                break;

            case Mappers.GroupedNamespaceFirst:
            default:
                mapper = new GroupedNamespaceDocumentMapper(assemblies, useObservableCollection, creator);
                break;
            }

            if (mapper == null)
            {
                throw new InvalidOperationException($"There is no implementation of {typeOfMapper} document mapper. Document could not be mapped.");
            }

            return(mapper);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initialises a new instance of the Document class.
 /// </summary>
 /// <param name="assemblies">The assemblies being documented.</param>
 /// <param name="mapperType">The type of document mapper to use to create the document map</param>
 /// <param name="useObservableCollection">Should the document map use an observable collection.</param>
 /// <param name="creator">The EntryCreator to use to create new Entries in the Map</param>
 public Document(List <DocumentedAssembly> assemblies, Mappers mapperType, bool useObservableCollection, EntryCreator creator)
 {
     _mapper = DocumentMapper.Create(assemblies, mapperType, useObservableCollection, creator);
     _mapper.PreEntryAdded += new EventHandler <PreEntryAddedEventArgs>(PreEntryAdded);
     _assemblies            = assemblies;
 }