我有一个名为IStrategy接口:接口继承
public interface IStrategy
{
}
我有一个名为IClickStrategy另一个接口,从IStrategy继承。它有)称为GetClicks(方法:
public interface IClickStrategy : IStrategy
{
void GetClicks(string[] args);
}
以及从继承IClickStrategy一类并实现GetClicks()方法:
public class UnionenClicksController : IClickStrategy
{
Models.DMDelivery.Unionen model;
Logger logger;
public UnionenClicksController()
{
this.model = new Models.DMDelivery.Unionen();
this.logger = new Logger();
}
public void GetClicks(string[] args)
{
...
}
}
在我的主要方法,这取决于关于策略的类型,我想决定做什么。因此,在我拥有的一切之前:
IStrategy strategy = null;
然后,如果输入参数想获得点击信息,我想从我的类UnionenClicksController()调用GetClicks函数。
但可以看出,我看不到GetClicks()功能。但是,如果我将我的策略更改为IClickStrategy,那么它会看到我的GetClicks。但这不是我想要的,因为除了点击之外,我可能会采用不同的策略,并且我不想在主要方法的开始处声明它。
我做错了什么?谢谢。
你不能设置一个公共的一个接口的方法,你运行一个自定义的编译器跳过接口错误的情况下? – Deukalion
@Deukalion我修正了这个问题。谢谢。 – Disasterkid