Par exemple, la System.IO.Path.Combine
méthode dans .NET a les surcharges suivantes:
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
Quel est le point des trois derniers?
Le premier couvrirait tous, comme si vous regardiez de près, il utilisait le params
mot - clé. L'argument de la compatibilité ascendante ne couvrirait que la Combine(String, String)
variante, car c'était la seule version jusqu'à ce que .NET 4.
Combine
avec zéro ou un segment de chemin n’a même aucun sens, mais laparams
version vous permet de le faire.