特征递归模式目前在 Vs Code 的预览版中

TAH*_*URI 5 c# compiler-warnings visual-studio-code c#-8.0

我无法使用c# version 8.0 中引入的一些代码。

考虑这段代码。

属性模式

class Address
{

    public string State { get; set; }
}

public static decimal ComputeSalesTax(Address location, decimal salePrice) =>
location switch
{
    { State: "WA" } => salePrice * 0.06M,
    { State: "MN" } => salePrice * 0.75M,
    { State: "MI" } => salePrice * 0.05M,
    // other cases removed for brevity...
    _ => 0M
};
Run Code Online (Sandbox Code Playgroud)

错误:

在此处输入图片说明

请帮我解决这个问题,事实上我使用的是最新版本的 vs 代码。

Joe*_*ius 8

您需要告诉 VS Code 您要使用较新(预览)语言版本的 c#。你在做一个项目吗?如果是这样,您可以放入<LangVersion>preview</LangVersion>.csproj 文件。这可能会解决问题。但是,您需要将其放在正确的位置。

  • ...aa*正确的位置*在 `&lt;PropertyGroup&gt;` 内:) (2认同)