Почему System.IO.Path.Combine имеет 4 перегрузки?

В .NET 4, System.IO.Path имеет следующие перегрузки для метода Combine :

public static string Combine(params string[] paths)
public static string Combine(string path1, string path2)
public static string Combine(string path1, string path2, string path3)
public static string Combine(string path1, string path2, string path3, string path4)

Первый был добавлен в .NET 4 для поддержки любого количества аргументов пути. Второй уже был в более ранних версиях, поэтому я полагаю, что он сохранен для обратной совместимости.

Но мне любопытно, какова польза от других перегрузок. Разве эти варианты использования уже не охвачены первой сигнатурой метода с params ?

edit: Теперь я считаю, что ответ таков: «потому что не все языки имеют params support (а передавать массив без поддержки параметров неудобно) ". Однако коллективный разум stackoverflow, похоже, категорически не согласен. Поэтому в качестве компромисса я не принимаю никакого ответа.

21
задан Wim Coenen 19 December 2010 в 18:21
поделиться