c#中的条件参数/方法签名?

时间:2017-05-24 06:57:11

标签: c#

我知道,如何在方法中做条件参数等。我遇到的问题是:我继承了一个旧的(但工作)类库(我不允许触摸)。在一个方法中,我们称之为覆盖oldmethod(string, string, string)的{​​{1}}。

我无法提交空字符串,因为它会抛出异常。我知道,我可以做一个if-else并检查我的参数然后调用我想要的签名,但是有更简单的内联方式吗?

是否有某种方法可以使用条件签名调用该方法,例如如果其中一个字符串为空,则使用三个参数签名,如果没有为空则使用四个参数一个?

2 个答案:

答案 0 :(得分:1)

没有办法让编译器根据运行时值选择一种方法而不是另一种方法。但是你可以很容易地做到这一点。

只需创建一个中间方法,您可以在其中检查要调用的方法:

arrays

答案 1 :(得分:0)

似乎没有其他办法。谢谢大家的建议。 If...then...else当然是有效的,包装器或扩展也是如此。最后,我使用内联if..then类似于Patrick的建议。

但这是一种解决方法。不是答案。 : - )