我有一个名为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。但这不是我想要的,因为我可能有不同的策略而不是点击,我不想在我的 main 方法的开头声明它。
我做错了什么?谢谢。