我有一个方法
private string FindColumn<T>(string sortColumn, string sortDirection = "asc")
{}
我的TestMethod
var result = _privateObject.Invoke("FindColumn<SelectListModel>", new object[] {sortColumn, sortDirection});
它无法正常工作。 有人可以帮我检查一下我的语法。
谢谢, Dam Tran
答案 0 :(得分:1)
我想这里没有办法使用反射。
MethodInfo
对象。为此,您必须传递特殊绑定标志,因为反射API通常会忽略私有成员。MakeGenericMethod
方法实例化通用方法。在这里,您将通用类型参数作为Type
对象传递给typeof()
运算符MethodInfo
对象有一个Invoke
方法,您可以调用但是,更好的解决方案通常是重新设计类的可测试性,以便您可以更轻松地访问这些方法:我不确定下一个人是否会理解您在测试中所做的事情,如果您不写良好的文档,为什么你需要测试私有方法。