据我所知,我需要将继承类的实例向上转换到实现所需方法的接口,然后调用它。
interface IProcess
{
void Do() { Console.WriteLine("doing"); }
//...
}
interface IWait
{
void Wait() { Console.WriteLine("waiting"); }
//...
}
class Example : IProcess, IWait { }
static void Main(string[] args)
{
Example item = new Example();
(item as IProcess).Do();
(item as IWait).Wait();
}
如果我需要的具有不同方法的默认实现的接口很少怎么办?是否有一些模式可以解决这个问题,或者我应该总是使用关键字来调用某个接口的方法?