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}\")"); } }
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"); }
protected override string Generate(ArgumentDescriptor descriptor) { return($"dir.GetArgument<{descriptor.Type.GetTypeName()}>(\"{descriptor.Name}\")"); }
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}\")"); }