2

我正在使用 VS2010 数据库单元测试框架。我已经创建了一个继承自 DataSetTestCondition 的条件并且效果很好。我现在正在尝试编写一个继承自 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,但它似乎是私有的。任何帮助,将不胜感激。

谢谢

4

1 回答 1

1

编辑:完全重写

我检查了源代码:

namespace Microsoft.Data.Schema.UnitTesting.Conditions
{
     public abstract class ResultSetCondition : TestCondition
     {
          //...      
          internal abstract void DoAssert(DataTable resultSet);
     }
}

所以DoAssert标记为internal。所以你不能继承,ResultSetCondition因为这 internal abstract意味着类只能在定义它的程序集中继承。
没有办法解决这个问题。

于 2012-01-29T22:12:38.687 回答