Exemplo n.º 1
0
        public static void Compile(
            IDictionary <FieldReference, RegisteredResolver> resolvers)
        {
            if (resolvers == null)
            {
                throw new ArgumentNullException(nameof(resolvers));
            }

            foreach (var item in resolvers.ToArray())
            {
                RegisteredResolver registered = item.Value;
                if (registered.Field is FieldMember member)
                {
                    ResolverDescriptor descriptor =
                        registered.IsSourceResolver
                            ? new ResolverDescriptor(
                            registered.SourceType,
                            member)
                            : new ResolverDescriptor(
                            registered.ResolverType,
                            registered.SourceType,
                            member);
                    resolvers[item.Key] = registered.WithField(
                        ExpressionCompiler.Resolve.Compile(descriptor));
                }
            }
        }
Exemplo n.º 2
0
 private void CompileResolvers()
 {
     foreach (KeyValuePair <FieldReference, RegisteredResolver> item in _resolvers.ToArray())
     {
         RegisteredResolver registered = item.Value;
         if (registered.Field is FieldMember member)
         {
             ResolverDescriptor descriptor =
                 registered.IsSourceResolver
                     ? new ResolverDescriptor(
                     registered.SourceType,
                     member)
                     : new ResolverDescriptor(
                     registered.ResolverType,
                     registered.SourceType,
                     member);
             _resolvers[item.Key] = registered.WithField(
                 ResolverCompiler.Resolve.Compile(descriptor));
         }
     }
 }