我有类似的东西:
class BackupList : List<Backup> {}
VS2010 为我生成的测试看起来有点像:
[TestMethod()]
[DeploymentItem("[...].exe")]
public void AddBackupNormal()
{
SqlServer_Accessor.BackupList ls = new SqlServer_Accessor.BackupList("", "");
SqlServer_Accessor.Backup bk = new SqlServer_Accessor.Backup();
ls.Add(bk);
Assert.IsTrue(ls.Count == 0); // won't compile
List<SqlServer_Accessor.Backup> x = new List<SqlServer_Accessor.Backup>();
Assert.IsTrue(x.Count == 1); // compiles fine
}
但是,在上面, .Count 引用无法编译:
错误 1 'xxx.SqlServer_Accessor.BackupList' 不包含 'Count' 的定义,并且找不到接受类型为 'xxx.SqlServer_Accessor.BackupList' 的第一个参数的扩展方法 'Count'(您是否缺少 using 指令或程序集参考?) C:[...]Tests\SqlServer_BackupListTest.cs
有趣的是,对原始类型的引用似乎包含一个 .Count 属性,正如我所期望的那样......所以问题是 _accessor 似乎正在转换为 List<> 以外的东西。
如何解决这个问题?
TIA-e!