gpt4 book ai didi

c#: 在接口(interface)中定义方法

转载 作者:太空宇宙 更新时间:2023-11-03 23:02:44 25 4
gpt4 key购买 nike

我已阅读 msdn那:

Interfaces contain no implementation of methods.

但是如果我有代码:

public interface ITest
{
void Print(string message);
}

public static void FullPrint(this ITest test, string message)
{
Console.WriteLine("-------------------");
test.Print(message);
Console.WriteLine("-------------------");
}

static void Main(string[] args)
{
ITest test = new CTest();
test.FullPrint("test");
}

public class CTest : ITest
{
public void Print(string message)
{
Console.WriteLine(message);
}
}

我有一个只针对这个接口(interface)的实现。

那么,在这种情况下,我的接口(interface)是否包含方法?

最佳答案

FullPrint 方法接收一个实现ITest 的类型的实例

一个接口(interface),在本例中名为ITest,本质上是一个契约定义。它 promise 任何实现该接口(interface)的类型都将包含该接口(interface)的已定义方法和属性。这就是接口(interface)没有实现的原因,它代表一个 promise /契约。

再次在您的示例中,您 promise /约定任何实现 ITest 的类型都将包含方法:

void Print(string message);

您的类型(未显示)CTest 实现该接口(interface)。然后,您创建一个 ITest 类型的引用到 CTest 的实例。

关于c#: 在接口(interface)中定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42506948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com