protected override string Generate(
            ArgumentDescriptor descriptor)
        {
            string key = null;

            if (descriptor.Parameter != null &&
                descriptor.Parameter.IsDefined(typeof(DataLoaderAttribute)))
            {
                key = descriptor.Parameter
                      .GetCustomAttribute <DataLoaderAttribute>().Key;
            }

            if (string.IsNullOrEmpty(key))
            {
                return($"ctx.DataLoader<{descriptor.Type.GetTypeName()}>()");
            }
            else
            {
                key = WriteEscapeCharacters(key);
                return($"ctx.DataLoader<{descriptor.Type.GetTypeName()}>(\"{key}\")");
            }
        }
示例#2
0
        internal static ArgumentDescriptor[] DiscoverArguments(
            MethodInfo method, Type sourceType = null)
        {
            if (method == null)
            {
                throw new ArgumentNullException(nameof(method));
            }

            ParameterInfo[] parameters = method.GetParameters();
            var             arguments  = new ArgumentDescriptor[parameters.Length];

            for (int i = 0; i < parameters.Length; i++)
            {
                ParameterInfo parameter = parameters[i];

                arguments[i] = new ArgumentDescriptor(
                    parameter.Name,
                    $"v{i}_{parameter.Name}",
                    ArgumentHelper.LookupKind(parameter, sourceType),
                    parameter.ParameterType);
            }

            return(arguments);
        }
 protected override string Generate(ArgumentDescriptor descriptor)
 {
     return($"ctx.{nameof(IResolverContext.CustomProperty)}<{descriptor.Type.GetTypeName()}>(\"{typeof(IEventMessage).FullName}\")");
 }
 protected override string Generate(
     ArgumentDescriptor descriptor)
 {
     return($"ctx.{nameof(IResolverContext.CustomContext)}<{descriptor.Type.GetTypeName()}>()");
 }
 protected override string Generate(ArgumentDescriptor descriptor)
 {
     return($"({descriptor.Type.GetTypeName()})rr");
 }
示例#6
0
 protected override string Generate(ArgumentDescriptor descriptor)
 {
     return($"dir.GetArgument<{descriptor.Type.GetTypeName()}>(\"{descriptor.Name}\")");
 }
示例#7
0
 protected override string Generate(ArgumentDescriptor descriptor)
 {
     return($"dir.ToObject<{descriptor.Type.GetTypeName()}>()");
 }
 public SourceResolverDescriptor(
     FieldMember field, ArgumentDescriptor argument)
     : this(field?.Member.ReflectedType, field, new[] { argument })
 {
 }
        protected override string Generate(ArgumentDescriptor descriptor)
        {
            string name = WriteEscapeCharacters(descriptor.Name);

            return($"ctx.{nameof(IResolverContext.Argument)}<{descriptor.Type.GetTypeName()}>(\"{name}\")");
        }