Я получаю новую ошибку с этим кодом, который не случился, и я думаю, что что-то удалил, но я не уверен, что - PullRequest
0 голосов
/ 07 мая 2019

Я пытался найти проблему и, возможно, изменил код непреднамеренным образом.Я строю webapi для изучения бэкэнда, используя почтальон в качестве внешнего интерфейса для выполнения операций CRUD над базой данных.У меня были проблемы с написанием методов, потому что я новичок в кодировании, и когда я попытался отладить, я, возможно, удалил код VS кода, хотя это не имело значения в операторах using.

Я потратил так много времени на выяснение методов и проблем с погоней, что даже не представляю, что я мог удалить в операторах using, поэтому понятия не имею, с чего начать.

using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;

namespace L06HandsOn.Models
{
    public class Car
{
    internal static readonly IActionResult ToList;

    public int Id {get; set;}
    public int Year {get; set;}
    public string Make {get; set;}
    public string Model {get; set;}
    public int numberOfPassengers {get; set;}


    }
}

когда я запускаю dotnet, он говорит, что Car.ToList никогда не назначается и всегда будет иметь значение по умолчанию null.Когда я запускаю почтальон, я всегда получаю внутреннюю ошибку сервера 500, но я получаю ее даже тогда, когда она действительно завершает операции.

EDIT * Вот контроллер.

using Microsoft.AspNetCore.Mvc;
using L06HandsOn.Models;
using System.Collections.Generic;

namespace L06HandsOn.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class CarsController : ControllerBase
{
    private readonly CarsContext _context;

    public CarsController(CarsContext context)
    {
        _context = context;
    }

    // POST api/Cars
    [HttpPost]
        public IActionResult Post([FromBody] Car car )
        {
            if (ModelState.IsValid)
            {
                 _context.Add(car);
                 _context.SaveChanges();
            }
            return CreatedAtRoute("", car.Id, car);
        }
    // GET api/car(all)
    [HttpGet]
        public IActionResult Get()
        {
            return Ok(_context.Cars);
        }
    // GET api/car(by Id)
    [HttpGet("{id:int")]
        public IActionResult Details(int id)
        {
            return Ok(_context.Cars.Find(id));
        }
    //GET api/car(if numberOfPassengers<3)
    [HttpGet("{numberOfPassengers:int}")]
    [Route("Get3")]
        public IActionResult Details2(int numberOfPassenger)
        {
            return Ok(_context.Cars.Find(numberOfPassenger<3));
        }
    //GET api/car(Order by year DESC)
    /* [HttpGet("{year:int}")]
    [Route("YDESC")]
        public IActionResult Details3(int year)
        {
            return Ok(_context.Cars.Find(year.OrderBy.DESC));
        }*/
}

}

VT Chiew Я связываю это только потому, что код ошибки, который я получаю, читает

Models\Car.cs(9,48): warning CS0649: Field 'Car.ToList' is never assigned to, and will always have its default value null [C:\Users\Jon-Michael\Desktop\Programming\CSharp\L06HandsOn\L06HandsOn.csproj]

Код, на который он ссылается, это Models \ Car.cs строка 9, которая

internal static readonly IActionResult ToList;

, который при наведении курсора говорит IActionResult Car.ToList, поэтому в моей голове звучит так, как будто отсутствует оператор использования, который появился в дотнет-сборке нового веб-API.Я не боюсь признать, что я новичок, и я учусь, я не знаю правильной терминологии или чего-то еще, кроме того, как это имеет смысл в моей голове.

1 Ответ

0 голосов
/ 07 мая 2019

Прежде всего, «внутреннее статическое чтение только» означает, что ToList виден в сборке, статическое поле является общим для всего экземпляра класса Car, а readonly - это ключевое слово, которое говорит, что мы можем установить значение поля только в конструкторе класса.Итак, когда у нас есть статическое чтение только для чтения, это означает, что вы можете установить значение только в статическом конструкторе класса Car.Наконец, в этом случае вам не нужно поле ToList, его можно безопасно удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...