3

我发现了一个有用的类,它使用 T 类型的 JSON 序列化/反序列化支持进行 Web API 调用。您可以在此处查看整个类/文章。我想我可以从这门课中得到很多用处,并想尝试一下。剩下一个错误,我不知道如何处理。它在以下例程中:

protected HttpRequestMessage GetHttpRequestMessage<T>(T data)
{
    MediaTypeHeaderValue mediaType = new MediaTypeHeaderValue("application/json");
    JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings();
    jsonSerializerSettings.Converters.Add(new IsoDateTimeConverter());

    JsonNetFormatter jsonFormatter = new JsonNetFormatter(jsonSerializerSettings);

    HttpRequestMessage requestMessage = new HttpRequestMessage<T>(data, mediaType, new MediaTypeFormatter[] { jsonFormatter });

    return requestMessage;
}

我得到的错误是:

Error   3   The non-generic type 'System.Net.Http.HttpRequestMessage' 
cannot be used with type arguments.

HttpRequestMessage<T>用红色波浪线下划线的地方。

我将如何以不会破坏此类的通用用途的方式重写此例程/代码行?

4

1 回答 1

3

那篇文章已经过时了;它引用了 Web API 的 BETA 版本。如hereHttpRequestMessage<T>所述,已在发布版本中删除了泛型类。相反,您应该使用扩展方法。这是一个更新的教程,可以为您提供所需的内容。PostAsJsonAsync<T>

于 2013-10-02T18:57:25.610 回答