默认接口方法是一项改变游戏规则的功能,它允许开发人员在不破坏现有实现的情况下向接口添加新方法。本文将解释 C# 中的默认接口方法,向您展示如何在您自己的代码中有效地使用它们。
传统上,C# 中的接口只能包含方法、属性、事件或索引器的声明,但不能包含它们的实现。任何实现该接口的类或结构都必须为该接口的每个成员提供实现。
默认接口方法被引入以解决传统接口的限制。通过默认接口方法,您可以直接在接口中为方法提供默认实现。如果一个类或结构实现了该接口但没有为该方法提供实现,将使用默认实现。
这是一个简单的例子 -
public interface IGreetable { void Greet(string name) { Console.WriteLine($"Hello, {name}!"); } } public class User : IGreetable { // No need to implement Greet method, the default implementation will be used. }
注意 - 默认接口方法是 C# 8.0 提议功能的一部分。
在此示例中,IGreetable 接口具有 Greet 方法的默认实现。 User 类实现了 IGreetable,但没有提供自己的 Greet 实现,因此将使用默认实现。
即使接口为方法提供了默认实现,实现类或结构仍然可以提供自己的实现。这被称为覆盖默认实现。
public class Admin : IGreetable { public void Greet(string name) { Console.WriteLine($"Hello, {name}. You are an admin."); } }
在这个例子中,Admin类为Greet方法提供了自己的实现,覆盖了IGreetable提供的默认实现。
默认接口方法是 C# 中的一项强大功能,它允许您随着时间的推移改进接口,而不会破坏现有的实现。通过了解默认接口方法,您可以在 C# 中创建更灵活、适应性更强的代码。
以上是C# 中的默认接口方法的详细内容。更多信息请关注PHP中文网其他相关文章!