我使用的是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意味着类只能在定义它的程序集中继承。
这是不可能的。

10-05 23:47