我有这个类:
public class MyClass
{
private static int GetMonthsDateDiff(DateTime d1, DateTime d2)
{
// implementatio
}
}
现在我正在为它实现单元测试。 由于该方法是私有的,所以我有以下代码:
MyClass myClass = new MyClass();
PrivateObject testObj = new PrivateObject(myClass);
DateTime fromDate = new DateTime(2015, 1, 1);
DateTime toDate = new DateTime(2015, 3, 17);
object[] args = new object[2] { fromDate, toDate };
int res = (int)testObj.Invoke("GetMonthsDateDiff", args); //<- exception
发生了类型为'System.MissingMethodException'的异常,但未在用户代码中处理 附加信息:尝试访问一个不存在的成员。
我做错了什么?方法是存在的...
InvokeStatic()
代替Invoke()
来调用它。 - Nigel Touch