相关疑难解决方法(0)

C#内部接口与内部实现

我发现了一些我不太懂的东西.

我有一个项目,我有一个内部接口.实现该接口的类也是内部的.在接口的实现中,我制作了我实现的所有成员,内部.我没有做一个明确的实现.

我有两个接口和两个类来实现这些工作正常的接口.

它看起来像这样:

internal interface IA
{
    void X();
}
Run Code Online (Sandbox Code Playgroud)

然后

internal class CA : IA
{
    internal void X()
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这适用于前面提到的两个类.但是当我尝试用另一个接口和类做它时,它不起作用.事实上,对于上面的例子,我得到错误:

'WindowsFormsApplication1.CA'没有实现接口成员'WindowsFormsApplication1.IA.X()'.'WindowsFormsApplication1.CA.X()'无法实现接口成员,因为它不是公共的.

我意识到我可以将方法公开或者做一个显式的实现(并省略内部和公共修饰符),但我只是混淆为什么它适用于它使用的两个类,但我似乎无法复制它在其他地方.

对代码进行一些屠杀(因为它是保密的),这是我项目中实际工作的代码之一.

internal interface IScanner
{
    void SetHardware(Hardware hardware);
    void Start();
    void PauseScan();
    void ResumeScan();
    void Stop();
    bool InScan { get; }
    event ScanCompleteHandler ScanComplete;
}
Run Code Online (Sandbox Code Playgroud)

然后我上课了:

internal class MyScanner : IScanner
{
    internal void SetHardware(Hardware hardware)
    {
       ...
    }

    internal void Start()
    {
        ...
    }

    internal void Stop()
    {
        ...
    }

    internal …
Run Code Online (Sandbox Code Playgroud)

c# interface internal

43
推荐指数
3
解决办法
4万
查看次数

标签 统计

c# ×1

interface ×1

internal ×1