Na przykład System.IO.Path.Combine
metoda w .NET ma następujące przeciążenia:
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
Jaki jest sens ostatnich trzech?
Pierwszy obejmowałby je wszystkie, ponieważ jeśli przyjrzysz się uważnie, użyje params
słowa kluczowego. Argument zgodności wstecznej obejmowałby tylko Combine(String, String)
wariant, ponieważ była to jedyna wersja do .NET 4.
Combine
z zerowym lub jednym segmentem ścieżki nawet nie ma sensu, aleparams
wersja na to pozwala.