【发布时间】:2021-01-25 22:06:00
【问题描述】:
据我所知,我需要将继承类的实例向上转换到实现所需方法的接口,然后调用它。
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();
}
如果我需要的具有不同方法的默认实现的接口很少怎么办?是否有一些模式可以解决这个问题,或者我应该总是使用 as 关键字来调用某个接口的方法?
【问题讨论】:
-
as后跟.没有意义。如果您确定接口存在,请执行标准转换,如果您不确定,请使用.?
标签: c# .net oop interface default-interface-member