我可以在C#中返回一个匿名对象吗?

Ala*_*an2 4 c# asp.net-web-api

我的代码返回一个对象:

  public async Task<IHttpActionResult> GetAnswers(int userTestQuestionId)
    {

  return Ok(new AnswerToClientDTO
        {
            AnswerGridCorrect = answerGridCorrect,
            Result = result,
            UpdateRowCount = updateRowCount
        });
Run Code Online (Sandbox Code Playgroud)

这是AnswerToClientDTO的代码,它仅在我的应用程序中的一个位置使用:

public class AnswerToClientDTO
{
    public string AnswerGridCorrect { get; set; }
    public int UpdateRowCount { get; set; }
    public string Result { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我是否可以返回一个匿名对象,我不必从ASP.NET WEb API方法声明一个类?

oxf*_*xfn 10

在WebAPI中,您可以传递任何对象Ok(),可以使用已配置的格式化程序对其进行格式化,因此这应该是有效的:

public IHttpActionResult GetStuff()
{
    return Ok( new {
        AnswerGridCorrect = answerGridCorrect,
        Result = result,
        UpdateRowCount = updateRowCount
    } );
}
Run Code Online (Sandbox Code Playgroud)