如何在特定class中使用默认接口方法?

How to use default interface methods in specific class?

public interface IPrinter
{
    public void Print()
    {
       Console.WriteLine("Printing...");
    }
}

public interface IScanner
{
    public void Scan()
    {
       Console.WriteLine("Scanning...");
    }
}

public class Copier : IPrinter, IScanner
{
    public void ScannAndPrint()
    {
       Scan();
       Print();
       Console.WriteLine("Scanning and Printing complete!");
    }
}

我收到以下编译器错误:

CS0103“名称 'Scan' 在当前上下文中不存在”

CS0103“名称 'Print' 在当前上下文中不存在”

如何实现这种概念?我想使用默认接口方法功能。

要使用默认接口实现,您必须将变量转换为相应接口的类型:

public void ScannAndPrint()
{
   ((IScanner)this).Scan();
   ((IPrinter)this).Print();
   Console.WriteLine("Scanning and Printing complete!");
}

Online-demo: https://dotnetfiddle.net/sudQJn