コード例 #1
0
 private static void UpdateMappers(Option <MapperCache> mappers, int rootMapperId, Mapper rootMapper)
 {
     if (mappers.HasValue)
     {
         var result = new List <Mapper>();
         foreach (var item in mappers.Value.MapperCacheItems)
         {
             if (item.Id != rootMapperId)
             {
                 result.Add(item.Mapper);
             }
             else
             {
                 result.Add(null);
             }
         }
         result[rootMapperId] = rootMapper;
         rootMapper.AddMappers(result);
         foreach (var item in mappers.Value.MapperCacheItems)
         {
             if (item.Id == rootMapperId)
             {
                 continue;
             }
             item.Mapper?.UpdateRootMapper(rootMapperId, rootMapper);
         }
     }
 }
コード例 #2
0
 private static void UpdateMappers(Option <MapperCache> mappers, int rootMapperId, Mapper rootMapper)
 {
     if (mappers.HasValue)
     {
         var result = mappers.Value.MapperCacheItems.Select(item => item.Id != rootMapperId ? item.Mapper : null).ToList();
         result[rootMapperId] = rootMapper;
         rootMapper.AddMappers(result);
         foreach (var item in mappers.Value.MapperCacheItems)
         {
             if (item.Id == rootMapperId)
             {
                 continue;
             }
             item.Mapper?.UpdateRootMapper(rootMapperId, rootMapper);
         }
     }
 }