Parametr metody jako referencja do obiektu

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:

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ź :)

0

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

0

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

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