Metody - inne nazwy jednego z parametrów

0

Co zrobić w przypadku, gdy mam dwie metody różniące się tylko nazwą jednego z parametrów typu double? Nazwy znaczą zupełnie co innego, ale metoda robi z nimi to samo.

0

Moze napisz konkretnie o co chodzi...

0

Mam metodę:

Metoda(double nazwa, ...)
{coś} 

Potrzebuje tą samą metodę, ale z inną nazwą jednego parametru:

Metoda(double innaNazwa, ...)
{ to samo coś} 

Chodzi o to, że ma być metoda której jeden z parametrów może przyjąć różne nazwy. Przecież nie będę tego dublował.

0

Ale skoro ta metoda robi dokładnie to samo to ja nie rozumiem po co chcesz coś tak dziwnego zrobić. Nie możesz wywoływać jednej i tej samej metody? o_O

0

Wiem śmieszne. Ale jeżeli wywołuje metodą i podaje parametry i jeden z nich nie jest tym czym jest w rzeczywistości, to mnie to wkurza.

0

Ale to znaczy jedynie że źle nazwałes parametry tej metody albo metodę jako taką. Szukasz problemu tam gdzie go nie ma.

0

A w przypadku gdy ilość parametrów tego samego typu jest zmienna? Metoda jest prosta i zamiast np:

parametr1.Run
parametr2.Run 

Można dać tablice parametrów i foreach. Ale to troche tez bezsensu, bo chciałbym móc te parametry rozróżniać, dla samej wiadomości w jakiej kolejności je podawać, bo ma ona znaczenie. To co mam dać słownik?

0
int DodajLiczby(params int[] liczby)
{
    int suma = 0;
    foreach(int x in liczby)
        suma += x;
   return suma;
}
0

@Manhattan, masz rację, jeśli masz 20 parametrów w metodzie, to masz brzydki kod. Metoda nie powinna mieć więcej niż 3, góra 5 parametrów.

Nie wiem, czy dobrze rozumiem Twój problem, ale być może potrzebujesz mieć w metodzie jeden parametr typu List<JakaśKlasa>. Co dokładnie chcesz osiągnąć, możesz podać jakiś przykład?

0

W czystym kodzie z tego co pamiętam forsują zasadę, żeby 3 i więcej parametrów używać tylko w naprawdę wyjątkowych sytuacjach

0

Przykład:
Metoda przyjmuje np. 20 parametrów. Następnie wartości parametrów double przypisywane są do punktów i wykonywana jest metoda Run. Parametry muszą być podawane w odpowiedniej kolejności.

Metoda(double parametr1,..)
{
punkt1 = parametr1;
.
.
punkt1.Run;
.
.
}
 

Chyba można utworzyć klasę i dać listę typu tej klasy jako parametr. Może cały kod jest od początku źle zaprojektowany i za wszelką cenę unikać takich sytuacji?

0

Może cały kod jest od początku źle zaprojektowany i za wszelką cenę unikać takich sytuacji

Nie może tylko ewidentnie...

0

W jakim przypadku warto zastosować klasę statyczną? Mógłby ktoś podać przykład, w którym lepszym rozwiązaniem jest klasa\metoda statyczna? Wiem, że w klasie math to jest i myślę że do podobnych konstrukcji się to stosuje, ale gdzie jest granica pomiędzy zwykła klasą a klasą statyczną? Lepiej nie nadużywać klas statycznych? Ja stosuje metody statyczne w metodach numerycznych.

0

A co ma klasa statyczna do przekazywania parametrów do metody?

0

Nic, sorry powinienem nowy temat założyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1