在视图中允许可空模型

Ser*_*rge 1 c# asp.net-mvc nullable visual-studio visual-studio-2019

使用/或任何其他类型作为我的 MVC 模型时,编译器似乎显示错误。structenum

CS0037 无法将 null 转换为“MyEnum”,因为它是不可为 null 的值类型

我创建了一个新的 MVC 项目(在 VS 2019 中),创建了一个枚举

public enum MyEnum
{
    One,
    Two,
    Three
}
Run Code Online (Sandbox Code Playgroud)

并将其作为模型放在“关于”视图中:

在此处输入图片说明

为什么会发生这种情况?

mjw*_*lls 5

使用结构/值类型作为我的 MVC 模型时,编译器似乎显示错误。

根据此链接,模型绝对可以aclass或 a struct。有利有弊,但两者都是允许的

那么,为什么你会看到这个错误呢?简短的回答是 - 这不是一个真正的错误。这是一个假错误

Visual Studio 有时会显示假错误,特别是当下拉菜单Error List设置为Build + Intellisense(而不是Build Only)时。

我对您的建议是将下拉菜单切换为Build Only. 在我的项目中,Intellisense 给出了许多虚假错误,因此我Build Only大部分时间都将其保持在模式下。

它发生在 Visual Studio 2017 和 2019 中。我没有在其他地方测试过。