.Net Standard 2.1 中接口中的静态抽象成员

问题描述 投票:0回答:1

我想在 .NET Standard 2.1 项目内的接口中创建静态抽象成员。我读到的所有内容都表明这只需要 C#11。我在项目文件中设置了

LangVersion
标签,但收到错误:

CS8919 目标运行时不支持接口中的静态抽象成员。

我知道有些功能需要额外的步骤。有我可以添加的包或其他我可以做的事情吗?

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
    <LangVersion>11.0</LangVersion>
    <Nullable>enable</Nullable>
  </PropertyGroup>

</Project>
public interface ITest
{
    static abstract int GetInt();
}
c# .net-standard
1个回答
0
投票

.Net Standard 2.1 从 3.0 开始应该与 .Net/.Net Core 兼容。因此,您无法使用仅适用于最新版本的框架的最新 C# 功能:.Net Standard 2.1

您必须使用支持 C# 11 的 .Net Framework 或使用旧版本的 C#

© www.soinside.com 2019 - 2024. All rights reserved.