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

本文关键字:基类 受保护 成员 模拟 何模拟 | 更新日期: 2023-09-27 17:59:39

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

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

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