我有一个PageProcessor
用方法调用的类
private static async Task InsertPosts(IEnumerable<LrcPost> posts)
{
// ...
}
我试图在我的单元测试之一中调用它,例如
PageProcessor processor = new PageProcessor();
MethodInfo dynMethod = processor.GetType()
.GetMethod
(
"InsertPosts",
BindingFlags.NonPublic | BindingFlags.Instance
);
dynMethod.Invoke(processor, new object[] { posts });
但我正在获得 NRE。知道为什么吗?
当您尝试访问它时,方法信息为空,因为它是静态成员而不是实例成员。
作为静态成员而不是实例成员访问该方法。也因为它是静态的,所以不需要实例来调用方法。
var type = typeof(PageProcessor);
var method = type.GetMethod("InsertPosts", BindingFlags.NonPublic | BindingFlags.Static);
var task = method.Invoke(null, new object[] { posts }) as Task;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句