不能使用接口默认方法
Cannot use interface default methods
我已经安装了新版本的 visual studio 并将项目设置为 C# 8。当我尝试使用如下所示的新界面功能时,它说我无法在界面中实现,这似乎不知何故我无法使用新界面特征。谁能解释一下为什么,它仍然没有包含在 2019 预览版中吗?
interface IDefaultInterfaceMethod
{
public void DefaultMethod()
{
Console.WriteLine("I am a default method in the interface!");
}
}
基于this:
Microsoft has fleshed out more details about C# Version 8.0, the next
planned major release of the language. C# 8.0 is expected to arrive in
2019, concurrent with the arrival of .Net Core 3.0.
所有 C# 8 功能仍处于早期开发阶段,很可能会发生变化。所以最好等到最终版本中的功能结束。以下博客也可能有所帮助:
Any estimation for C# 8.0 release date?
并非所有 C# 8.0 功能都可用(Visual Studio 2019 的预览版 1)。您可以在以下 link:
中找到当前可用功能的列表
默认接口方法在 .NET Core 3.0 Preview 1 中不可用。这确实是一个 preview 预览 - 如果没有一些手动修复,即使异步枚举也无法工作。 Roslyn 团队 decided to release the preview 尽管有些事情不会马上解决 :
Should we tell users to skip this feature until preview 2?
这是预览版,不是 RTM。如果我们告诉用户因为他们有错误而跳过预览功能,我们应该完全停止发布预览。
默认接口实现可通过 SharpLab.io 进行实验。此站点通过显示编译器为任何示例生成的 C#、IL 或汇编代码来展示编译器的工作原理。
Sharplab.io 允许使用许多不同的实验性编译器。 Default Interface Methods
选项可以编译这个例子:
interface IDefaulter
{
int GoBust()=>0;
}
不过请注意日期 - 该编译器自 2018 年 4 月 2 日以来未更新。预览版 1 中发布的功能最后一次更新是在 2018 年 10 月。
我已经安装了新版本的 visual studio 并将项目设置为 C# 8。当我尝试使用如下所示的新界面功能时,它说我无法在界面中实现,这似乎不知何故我无法使用新界面特征。谁能解释一下为什么,它仍然没有包含在 2019 预览版中吗?
interface IDefaultInterfaceMethod
{
public void DefaultMethod()
{
Console.WriteLine("I am a default method in the interface!");
}
}
基于this:
Microsoft has fleshed out more details about C# Version 8.0, the next planned major release of the language. C# 8.0 is expected to arrive in 2019, concurrent with the arrival of .Net Core 3.0.
所有 C# 8 功能仍处于早期开发阶段,很可能会发生变化。所以最好等到最终版本中的功能结束。以下博客也可能有所帮助:
Any estimation for C# 8.0 release date?
并非所有 C# 8.0 功能都可用(Visual Studio 2019 的预览版 1)。您可以在以下 link:
中找到当前可用功能的列表默认接口方法在 .NET Core 3.0 Preview 1 中不可用。这确实是一个 preview 预览 - 如果没有一些手动修复,即使异步枚举也无法工作。 Roslyn 团队 decided to release the preview 尽管有些事情不会马上解决 :
Should we tell users to skip this feature until preview 2?
这是预览版,不是 RTM。如果我们告诉用户因为他们有错误而跳过预览功能,我们应该完全停止发布预览。
默认接口实现可通过 SharpLab.io 进行实验。此站点通过显示编译器为任何示例生成的 C#、IL 或汇编代码来展示编译器的工作原理。
Sharplab.io 允许使用许多不同的实验性编译器。 Default Interface Methods
选项可以编译这个例子:
interface IDefaulter
{
int GoBust()=>0;
}
不过请注意日期 - 该编译器自 2018 年 4 月 2 日以来未更新。预览版 1 中发布的功能最后一次更新是在 2018 年 10 月。