[英]How do I pass two similar concrete objects to a method with interface parameters that implement generics in C#?
[英]How do I pass two parameters to GraphQLHttpClient in c#?
我遇到了類似的問題。 我已經更新了我的 GraphQLHttpClient,現在我需要提供一個額外的參數,解決方案是:
GraphQLHttpClient gql = new GraphQLHttpClient(o => {
o.EndPoint = _config["API:Endpoint"];
o.JsonSerializer = new NewtonsoftJsonSerializer();
});
但這告訴我: 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());
這給出了Error CS1503 Argument 2: cannot convert from 'Newtonsoft.Json.JsonSerializer' to 'GraphQL.Client.Abstractions.Websocket.IGraphQLWebsocketJsonSerializer'
我對 c# 知之甚少,因此我將不勝感激。
您的第一個解決方案正確地嘗試使用NewtonsoftJsonSerializer
,它是IGraphQLWebsocketJsonSerializer
的實現來使用 Newtonsoft。
您的第二個正確使用了一個構造函數,但您已將其更改為Newtonsoft.Json.JsonSerializer
這不是IGraphQLWebsocketJsonSerializer
的實現。
您想要的是第二個,但使用正確類型的IGraphQLWebsocketJsonSerializer
:
GraphQLHttpClient gql = new GraphQLHttpClient(_options.Url, new NewtonsoftJsonSerializer());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.