【发布时间】:2012-03-11 17:43:32
【问题描述】:
我有一个接口和一个实现该接口的类。
我要求该类依赖于 ITimer。创建一个私有成员并传入一个构造函数参数,并将私有成员分配给该构造函数参数。
如何使接口以某种方式声明此 ITimer 但不作为属性?好像我不能正确测试 MyClass ,但我认为接口应该是类必须遵守的合同,因此我的类具有依赖关系,那么如何让它出现在接口中?
public interface IMyInterface
{
void DoSomething();
}
public class MyClass : IMyInterface
{
private ITimer MyTimer;
public MyClass(ITimer timer)
{
MyTimer = timer;
}
public void DoSomething()
{
}
}
【问题讨论】:
-
听起来您希望能够让接口强制所有实现类都有一个接受
ITimer的构造函数,对吗? (顺便说一句,您将无法使用界面执行此操作) -
技术上不是所提出问题的答案,而是解决您的问题。如何定义 MyClassBase(抽象基类/类型)并针对它进行编码(相对于接口)?