我使用的是vs2010数据库单元测试框架。我已经创建了一个继承自datasetstcondition的条件,这个条件工作得很好。我现在正试图编写一个继承自ResultSetCondition的条件,但我一直收到错误消息:
“dbunittestconditions.conditionmulti”未实现继承的抽象成员“microsoft.data.schema.unittesting.conditions.resultsetcondition.doassert(system.data.datatable)”
这基本上就是我正在使用的代码:
using Microsoft.Data.Schema.UnitTesting.Conditions;
using System.Data;
namespace DBUnitTestConditions
{
public class ConditionMulti : ResultSetCondition
{
public ConditionMulti()
{
}
public void DoAssert(DataTable dt)
{
}
}
}
如果我尝试使用对象浏览器查看resultsetcondition,则没有任何内容引用dosassert。但如果我使用解决方案导航器,我会看到doassert,但它似乎是私有的。任何帮助都将不胜感激。
谢谢
最佳答案
编辑:完全重写
我已经检查了源代码:
namespace Microsoft.Data.Schema.UnitTesting.Conditions
{
public abstract class ResultSetCondition : TestCondition
{
//...
internal abstract void DoAssert(DataTable resultSet);
}
}
所以
DoAssert
标记为internal
。因此您不能从ResultSetCondition
继承,因为internal abstract
意味着类只能在定义它的程序集中继承。这是不可能的。