Parametry opcjonalne i parametry nazwane - niezwykle przydatne elementy deklaracji metody

ASP NET MVC i C#
parametry opcjonalne nazwane lisc droga most

Parametry opcjonalne i nazwane zostały wprowadzone do C# dosyć późno, gdyż dopiero w wersji 4.0. Są w swej istocie bardzo przydatne.

Dzięki nim:

  • kod z wywoływanymi metodami jest znacznie bardziej czytelny w sytuacji, gdy występuje potrzeba argumentacji częściowej (czyli niewypełniania argumentami wszystkich parametrów)
  • kod jest prostszy w analizie
  • metody mogą mieć wiele parametrów i nie wpływa to na obniżenie jakości kodu

Parametry opcjonalne:

  • pozwalają na określenie parametrów, których nie trzeba, ale można przekazać do funkcji
  • parametry opcjonalne mają mieć ustawioną wartość domyślną podczas definicji - tym się różnią od parametrów obligatoryjnych
  • parametry opcjonalne są definiowane na końcu listy argumentów, nie można umieścić parametru opcjonalnego przed obligatoryjnym
  • na przykład:
    ArticleExtended ArticleExtended(
    bool enabled,
    bool actual,
    string url = null,
    int commentID = 0,
    int articleID = 0, 
    bool commentEnabled = true, 
    Article article = null);
    
    // i wywołanie:
    
    repository.ArticleExtended(true, true, “test/”)
    

    Parametry nazwane:

      • nie trzeba zachowywać ich kolejności
      • parametry są kojarzone po nazwie parametru a nie jak to jest w przypadku parametrów nienazwanych po kolejności
      • na przykład:
    repository.ArticleExtended(true, true, articleID: 1290)

Źródła: Źródła własne

Tomasz Osiński Tomasz Osiński
Parametry opcjonalne i parametry nazwane - niezwykle przydatne elementy deklaracji metody
2017-10-04 21:10:52
Komentarze
Aby dodac komentarz musisz być zalogowany

Zobacz podobne artykuły

Nazywam się Tomasz Osiński. Jestem programistą web developerem od 2008 roku. Obecnie pracuję w Banku Millennium jak .NET web developer, poza tym rozwijam startupy, blogguję. Pokazuję, że za pomocą ASP.NET, HTML, CSS i JS można budować wydajne aplikacje i strony internetowe. Ukazuję potrzeby wdrażania nowoczesnego podejścia do zarządzania w IT (Lean, Kanban, SCRUM, Agile)

Blog, który czytasz tworzę w w/w technologiach i udostępniam na GitHubie