gpt4 book ai didi

c#接口(interface)问题

转载 作者:太空狗 更新时间:2023-10-29 20:21:59 25 4
gpt4 key购买 nike

我有以下代码:

// IMyInterface.cs

namespace InterfaceNamespace
{
interface IMyInterface
{
void MethodToImplement();
}
}

.

// InterfaceImplementer.cs
class InterfaceImplementer : IMyInterface
{
void IMyInterface.MethodToImplement()
{
Console.WriteLine("MethodToImplement() called.");
}
}

这段代码编译得很好(为什么?)。但是当我尝试使用它时:

// Main.cs

static void Main()
{
InterfaceImplementer iImp = new InterfaceImplementer();
iImp.MethodToImplement();
}

我得到:

InterfaceImplementer does not contain a definition for 'MethodToImplement'

MethodToImplement 从外部不可见。但是,如果我进行以下更改:

// InterfaceImplementer.cs
class InterfaceImplementer : IMyInterface
{

public void MethodToImplement()
{
Console.WriteLine("MethodToImplement() called.");
}
}

然后 Main.cs 也可以正常编译。为什么两者之间存在差异?

最佳答案

通过 implementing an interface explicitly ,您正在创建一个只能通过强制转换为接口(interface)来调用的私有(private)方法。

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

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