Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#私有变量的设置值_C#_Mocking - Fatal编程技术网

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);

“这是我要设置的私有值”-什么类的私有变量?“这是我要设置的私有值”-什么类的私有变量?