为什么这样的东西不起作用:
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
如果父类的任何变量都受到保护,那么它可以在子类中访问,但不能在将扩展或使用子类的类中访问。