如何模拟基类的受保护成员



为什么这样的东西不起作用:

public class BaseFoo{
   protected int FooField;
}
public class FooChild:BaseFoo{
}
var m = new Mock<FooChild>();
m.Protected().Setup<int>("FooField").Returns(1);

上面写着"会员FooChild.FooProp不存在"

哦。。我明白了。。它必须是一个属性而不是字段,并且必须是protected virtual

如果父类的任何变量都受到保护,那么它可以在子类中访问,但不能在将扩展或使用子类的类中访问。

最新更新