C#私有变量的设置值
这是我要设置的私有值C#私有变量的设置值,c#,mocking,C#,Mocking,这是我要设置的私有值 private PhaseList stages; 这是我的测试 MockRepository mocks = new MockRepository(); mocks.Stub<UserAction>(); Game g = new Game(players, cardList); Type stage = typeof(PhaseList); FieldInfo stinfo = st
private PhaseList stages;
这是我的测试
MockRepository mocks = new MockRepository();
mocks.Stub<UserAction>();
Game g = new Game(players, cardList);
Type stage = typeof(PhaseList);
FieldInfo stinfo = stage.GetField("stages",
BindingFlags.NonPublic | BindingFlags.Instance);
PhaseList p = new PhaseList();
p.add(new DiscardPhase(players[0]));
p.add(new DiscardPhase(players[0]));
stinfo.SetValue(g, p);
g.processUserInput(0, mocks.Stub<UserAction>());
它指向这条线:
stinfo.SetValue(g, p);
我不明白为什么stinfo=null
有人能帮我吗?您正在尝试获取
阶段列表
类的类型,然后在其中获取一个名为阶段
的私有字段。我假设它没有一个名为“stages”的字段,所以您会得到null
您所拥有的是另一个类中名为“stages”的字段,它可能是PhaseList
类的实例
Type stage = typeof(Whatever_Class_Has_The_Stages_Field_In_It);
FieldInfo stinfo = stage.GetField("stages", BindingFlags.NonPublic | BindingFlags.Instance);
您试图获取
PhaseList
类的类型,然后在其中获取一个名为stages
的私有字段。我假设它没有一个名为“stages”的字段,所以您会得到null
您所拥有的是另一个类中名为“stages”的字段,它可能是PhaseList
类的实例
Type stage = typeof(Whatever_Class_Has_The_Stages_Field_In_It);
FieldInfo stinfo = stage.GetField("stages", BindingFlags.NonPublic | BindingFlags.Instance);
“这是我要设置的私有值”-什么类的私有变量?“这是我要设置的私有值”-什么类的私有变量?