Parametr metody jako referencja do obiektu

Parametr metody jako referencja do obiektu
GR
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć,

Za pytanie przez część zostanie zlinczowany ale zagadnienie mnie trapi i nie mogę w sieci znaleźć na nie dość jednoznacznej odpowiedzi. Jak wynika z tematu chodzi oczywiście o parametry metod, obiekty i referencje.

Uściślając... jaki jest sens pisania takiego kodu:

Kopiuj
public void Metoda(ref object ObiektKlasy)
{
}

i wywoływania jej

Obiekt.Metoda(ref ObiektKlasy);

Otóż chodzi mi o to, czy przypadkiem w C# podczas przekazywania parametrów będących obiektami zawsze do metody przekazywana jest referencja do tego obiektu? Odbywa się to w sposób niejawny?

Czy może jeśli nie użył bym słowa kluczowego "ref" do metody przekazana została by kopia obiektu?

Pozdrawiam i dziękuję za odpowiedź :)

KU
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie ma sensu.
Sens ma jeśli byłby to obiekt struktury.
Przecież zmienna referencyjna przechowuje referencje do obiektu, a nie sam obiekt.

adf88
  • Rejestracja: dni
  • Ostatnio: dni
0

Przekazując bez 'ref' możesz zmieniać obiekt, ale samej referencji już nie zmienisz, nie sprawisz, że będzie wskazywać na inny obiekt.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.