gpt4 book ai didi

c# - ReadAsAsync-错误 : "Type is an interface or abstract class and cannot be instantiated."

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:32 27 4
gpt4 key购买 nike

我有以下代码可以从 Web API 服务获取对象。

在下面的代码行

response.Content.ReadAsAsync<CMLandingPage>().Result;

我得到以下异常:

InnerException = {“无法创建 MLSReports.Models.IMetaData 类型的实例。类型是接口(interface)或抽象类,无法实例化。路径‘BaBrInfo.Series[0].name’,第 1 行,位置 262。”

非常感谢任何指点。

 CMLandingPage lpInfo = new CMLandingPage();

try
{
using (HttpClient client = new HttpClient())
{
// Add an Accept header for JSON format
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
response = client.PostAsJsonAsync(LPChartinfoapiURL, criteria.Mlsnums).Result;
}
// Throw exception if not a success code.
response.EnsureSuccessStatusCode();
// Parse the response body.
lpInfo = response.Content.ReadAsAsync<CMLandingPage>().Result;
}

CM登陆页面:

namespace MLSReports.Models
{
public class CMLandingPage
{
public CMLandingPage() { }

public CMColumn BaBrInfo { get; set; }

}
public class CMColumnItem<T> : IMetaData
{
#region Constructors and Methods
public CMColumnItem() { }
#endregion

#region Properties and Fields
public string name { get; set; }
public List<T> data { get; set; }
public string color { get; set; }
#endregion

}

public class CMColumn
{
#region Constructor and Method
public CMColumn()
{
Series = new List<IMetaData>();
}
#endregion

#region Properties and Fields
public string ChartType { get; set; }
public string ChartTitle { get; set; }
public List<IMetaData> Series { get; set; }
#endregion
}
}

最佳答案

你的 CmColumn 类有这个属性:

    public List<IMetaData> Series { get; set; }

WebApi Controller 显然正在尝试根据您发送给它的参数值构造一个对象。当它到达名为“BaBrInfo.Series[0].name”的值时,它知道它应该创建一个新的 IMetaData 对象,以便它可以设置它的 name并将其添加到 Series 属性,但 IMetaData 只是一个接口(interface):它不知道要构造什么类型的对象。

尝试将 IMetaData 更改为实现该接口(interface)的具体类型。

关于c# - ReadAsAsync-错误 : "Type is an interface or abstract class and cannot be instantiated.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20060495/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com