Example #1
0
        public Type GetArgumentType(string argName)
        {
            var argProp = ArgumentTypes.GetType().GetTypeInfo().GetProperties().Where(f => f.Name.ToLower() == argName.ToLower()).FirstOrDefault();

            if (argProp == null)
            {
                var argField = ArgumentTypes.GetType().GetTypeInfo().GetFields().Where(f => f.IsPublic && f.Name.ToLower() == argName.ToLower()).FirstOrDefault();
                if (argField == null)
                {
                    throw new EntityGraphQLCompilerException($"{argName} is not an argument on field {Name}");
                }
                return(argField.FieldType);
            }
            return(argProp.PropertyType);
        }