【发布时间】:2012-12-03 06:30:16
【问题描述】:
我正在为一个抽象类创建一个单元测试代码。这是该类的一个sn-p:
public abstract class Component
{
private eVtCompId mComponentId;
private eLayer mLayerId;
private IF_SystemMessageHandler mLogger;
protected Component(eVtCompId inComponentId, eLayer inLayerId, IF_SystemMessageHandler inMessageHandler)
{
mLayerId = inLayerId;
mComponentId = inComponentId;
mLogger = inMessageHandler;
}
我在构造函数的参数中是两个枚举,后跟一个接口。
这是我的单元测试代码中的一个 sn-p:
Component_Accessor target = new Component_Accessor(eVtCompId.MasterSWCommDevice, eLayer.Foundation, new MySysMsgHandler());
我不断收到错误消息“Component_Accessor 不包含采用'3'参数的构造函数”。我似乎无法理解为什么会这样。当我删除 abstract 关键字时,单元测试工作正常。
如果类设置为abstract,我不明白为什么单元测试似乎无法“看到”构造函数。谁能解释为什么会这样?提前致谢。
【问题讨论】:
-
Component和Component_Accessor是绝对不同的类型。它们是如何相互引用的?
标签: c# constructor abstract