Example #1
0
        private void AddImplicitResolverBindings(
            ITypeInspector inspector,
            INamingConventions naming,
            ResolverTypeBindingInfo binding)
        {
            var names = new HashSet <NameString>(
                binding.Fields.Select(t => t.FieldName));

            foreach (MemberInfo member in inspector.GetMembers(binding.ResolverType))
            {
                NameString fieldName =
                    naming.GetMemberName(member, MemberKind.ObjectField);
                if (names.Add(fieldName))
                {
                    var builder = ResolverFieldBindingBuilder.New();
                    builder.SetResolver(member);
                    builder.SetField(fieldName);
                    binding.Fields = binding.Fields.Add(builder.Create());
                }
            }
        }