以 string[] 作为参数调用方法时出现 PrivateObject NullReferenceException

PrivateObject NullReferenceException on invocation of method with string[] as parameter

我正在尝试为使用 string[] 作为参数的私有方法编写单元测试。调用私有方法适用于 PrivateObject class,但是当我尝试使用 string[].

调用它时却没有

测试returns

System.NullReferenceException: Object reference not set to an instance of an object

调用时。

这是 class,其中包含我需要调用的方法:

public class Program{
    public Program(){}

    private void TestCommand(string[] command){}
}

我尝试了以下方法:

Program program = new Program();
PrivateObject privateObject = new PrivateObject(program);

object[] parameters = new object[1] {
    new string[2] {
       "add",
       "rando"
    }
};

/* doesn't work either
object[][] parameters = new object[1][];
parameters[0] = new string[2];

parameters[0][0] = "add";
parameters[0][1] = "rando";*/

privateObject.Invoke("TestCommand", parameters);

事实证明调用没有任何问题。相反,异常发生在从 TestCommand 中调用的方法中。方法中使用的字段未分配。从 Visual Studio 中收到的错误消息来看,这一点一点都不清楚,它看起来好像异常发生在 Invoke 方法中。