/// <summary>
 /// Add all reflected properties as fields (unless they are specified in <paramref name="excludedProperties"/>.
 /// </summary>
 /// <typeparam name="TSourceType"></typeparam>
 /// <param name="type"></param>
 /// <param name="excludedProperties"></param>
 public static void AddAllPropertiesAsFields <TSourceType>(this ComplexGraphType <TSourceType> type, params Expression <Func <TSourceType, object> >[] excludedProperties)
 {
     GraphObjectTypeReflectionHelper.SetFields(
         type,
         GetRegisteredProperties(typeof(TSourceType)),
         new GraphObjectTypeReflectionOptions <TSourceType>
     {
         ExcludedProperties = excludedProperties,
     }
         );
 }
 /// <summary>
 /// Add all reflected properties as fields (unless they are specified in <paramref name="excludedProperties"/>.
 ///
 /// Properties with names already registered will be excluded automatically, allowing you to do this after first specifying those fields you want to control manually.
 /// </summary>
 /// <typeparam name="TSourceType"></typeparam>
 /// <param name="type"></param>
 /// <param name="nullable"></param>
 /// <param name="excludedProperties"></param>
 public static void AddRemainingPropertiesAsFields <TSourceType>(this ComplexGraphType <TSourceType> type, bool?nullable = null, params Expression <Func <TSourceType, object> >[] excludedProperties)
 {
     GraphObjectTypeReflectionHelper.SetFields(
         type,
         GetRegisteredProperties(typeof(TSourceType)),
         new GraphObjectTypeReflectionOptions <TSourceType>
     {
         Nullable           = nullable,
         ExcludedProperties = excludedProperties,
         SkipExisting       = true,
     }
         );
 }
Beispiel #3
0
 /// <summary>
 /// Creates a GraphQL type from <typeparamref name="TSourceType"/> by specifying additional options.
 /// </summary>
 public ReflectedInputObjectGraphType(GraphObjectTypeReflectionOptions <TSourceType> options)
 {
     GraphObjectTypeReflectionHelper.SetFields(this, GetRegisteredProperties(), options);
 }