无法将类型 'BatchAPI_Demo.Models.SubError' 隐式转换为 'System.Collections.Generic.List<BatchAPI_Demo.Models.SubError>'

Cannot implicitly convert type 'BatchAPI_Demo.Models.SubError' to 'System.Collections.Generic.List<BatchAPI_Demo.Models.SubError>'

我有一个模型class

public class ErrorLog
{
    public int CorrelationID { get; set; }
    
    public List<SubError> errors { get; set; }
}

域Class

public class SubError
{
    public string source { get; set; }
    public string description { get; set; }
}

控制器代码

ErrorLog objError = new ErrorLog();
SubError objsubErr = new SubError();
if (req.Businessunit == "")
{
    objError.CorrelationID = 400;
    objsubErr.source = "Error Occurred";
    objsubErr.description = "Units cannot be blank";

    objError.errors = objsubErr;
    return JsonConvert.SerializeObject(objError);
}

我在将 objSuberr 分配给错误时遇到错误。在错误 class 中分配来源和描述值的解决方案可能是什么。 我是一个新手。可能是一个简单的出路,但我无法追踪它。如有帮助,将不胜感激。

错误消息不言自明。您正在尝试将 SubError 类型的对象分配给 List<SubError> 类型的对象。如果您需要保留 List,则 objError.errors = objsubError 变为 objError.errors.Add(objsubError)

我没看到你在哪里初始化 errors 属性。在这种情况下,您可以使用 objError.errors = new List<SubError> { objsubError }; 来确保 属性 被初始化 并且 它将新对象添加到列表中。

您正在尝试分配一个单一的 SubError 到 SubError 列表。你不能。它们是不同的类型。一个是 List,另一个是 Singular Object,所以你不能 assign.

您需要单个对象添加到列表中。

objError.errors.Add(objSubErr);

在您的情况下,您还需要先实例化列表:

objError.errors = new List<SubError>();
objError.errors.Add(objSubErr);