Ejemplo n.º 1
0
 private void RegisterFileBuilders()
 {
     FileBuilderRunner
     .Add(new SingleFileBuilder(TypeMaps, Config))
     .With(new CollectionFileBuilder(TypeMaps, Config)
           , n => n.With(new CollectionObjectFileBuilder(TypeMaps, Config))
           )
     .With(new SingleOneArgFileBuilder(TypeMaps, Config));
 }
Ejemplo n.º 2
0
        public Dictionary <TypePair, CompiledDelegate> CompileMapsToAssembly()
        {
            List <string>    sourceCodes;
            HashSet <string> locations;

            FileBuilderRunner.BuildCode(out sourceCodes, out locations);

            var storageCodes = BuildStorageCode();

            sourceCodes = sourceCodes.Union(storageCodes).ToList();

            PrintSourceCode(sourceCodes);

            CSharpCompilation compilation = MapperTypeBuilder.CreateCompilation(sourceCodes.ToArray(), locations);

            Assembly assembly = MapperTypeBuilder.CreateAssembly(compilation);

            InitStorages(TypeMaps, assembly);

            var delegateCache = CreateDelegateCache(TypeMaps, assembly);

            return(delegateCache);
        }