错误 CS0118:"发票"是一个命名空间,但像类型一样使用


namespace Vectigal.Invoice.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class InvoicesController : ControllerBase
{
private readonly InvoiceContext _context;
public InvoicesController(InvoiceContext context)
{
_context = context;
}
// GET: api/Invoices
[HttpGet]
public async Task<ActionResult<IEnumerable<Invoice>>> GetInvoices()
{
return await _context.Invoices.ToListAsync();
}

当我尝试运行这个。net项目时,我得到错误消息。我做错了什么?

这是因为Invoice是一个名称空间(Vectigal.Invoice),而不是一个类型——这正是错误所说的。

IEnumerable<Invoice>畸形。你是不是在别的地方申报了一种叫Invoice的东西?如果是这样,要么更改其名称,要么更改名称空间的名称,这样它们就不会冲突。不要给两个不同的东西取相同的名字。

您总是可以完全限定名称的范围,例如:IEnumerable<SomeOtherNamespace.Invoice>,但这会变得有点冗长。

相关内容

最新更新