如何在 C# 中将两个参数传递给 GraphQLHttpClient?

sch*_*oon 5 c# graphql

我遇到了与此类似的问题。我已经更新了我的 GraphQLHttpClient,现在我需要提供一个额外的参数,给出的解决方案是:

GraphQLHttpClient gql = new GraphQLHttpClient(o => {
o.EndPoint = _config["API:Endpoint"];
o.JsonSerializer = new NewtonsoftJsonSerializer();
});
Run Code Online (Sandbox Code Playgroud)

但这告诉我: Error CS1729 'GraphQLHttpClient' does not contain a constructor that takes 1 arguments 我也尝试过:

using Newtonsoft.Json
GraphQLHttpClient gql = new GraphQLHttpClient(_options.Url, new Newtonsoft.Json.JsonSerializer());
Run Code Online (Sandbox Code Playgroud)

这使Error CS1503 Argument 2: cannot convert from 'Newtonsoft.Json.JsonSerializer' to 'GraphQL.Client.Abstractions.Websocket.IGraphQLWebsocketJsonSerializer'

我对 C# 知之甚少,所以我将不胜感激任何指点。

Jam*_*iec 5

您的第一个解决方案正确地尝试使用它是使用 NewtonsoftNewtonsoftJsonSerializer的实现。IGraphQLWebsocketJsonSerializer

您的第二个正确地使用了接受它的构造函数,但您已将其更改为Newtonsoft.Json.JsonSerializer不是实现IGraphQLWebsocketJsonSerializer

您想要的是第二个,但具有正确的类型IGraphQLWebsocketJsonSerializer

GraphQLHttpClient gql = new GraphQLHttpClient(_options.Url, new NewtonsoftJsonSerializer());
Run Code Online (Sandbox Code Playgroud)