当前位置:  开发笔记 > 编程语言 > 正文

如何调用params string []作为唯一没有发送值的参数的方法

如何解决《如何调用paramsstring[]作为唯一没有发送值的参数的方法》经验,为你挑选了1个好方法。

我想调用这个方法:

public IEnumerable SelectAll(params string[] entitiesToLoad)

但是在大多数情况下我不会加载关系实体,所以我想调用它而不发送entitiesToLoad值,如下所示:

var dbResult = methodInfo.Invoke(repository, null);

但它抛出异常,因为参数的数量不相等

有没有办法在不将params string []更改为其他类型的参数的情况下执行此操作?

我试过string entitiesToLoad = null as parammeter,我得到了同样的错误.



1> O. R. Mapper..:

传递一个空数组,因为这是C#编译器在指示可变方法的参数时将传递的内容:

var dbResult = methodInfo.Invoke(repository, new object[] { new string[0] });

请注意,您必须将字符串数组包装到对象数组中,因为该对象数组表示参数列表.第一个传递的参数是空字符串数组.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有