Na przykład System.IO.Path.Combinemetoda 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 paramssłowa kluczowego. Argument zgodności wstecznej obejmowałby tylko Combine(String, String)wariant, ponieważ była to jedyna wersja do .NET 4.
Combinez zerowym lub jednym segmentem ścieżki nawet nie ma sensu, aleparamswersja na to pozwala.