Referencja na obiekt samego siebie

Referencja na obiekt samego siebie
Hagis
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 3 lata
  • Postów:8
0

Witam, jak w C# zrobić taką metodę w obiekcie klasy, by uruchamiała inną metodę (w moim przypadku konstruktor), który jako parametr ma przyjąć referencję na ten obiekt, w którym wywołana została metoda? Wiem, trochę zawiłe, ale pokażę, w jaki sposób próbowałem to zrobić i chyba każdy zrozumie.

Kopiuj
//jeden z konstruktorów klasy reprezentującą wieżyczkę w grze
public CTower(CTower model, Vector2 position, ref CStage stage)
{
	/* ... */
}

/* ... ... ... */

//główna klasa obsługująca cały poziom
public class CStage //klasa reprezentująca całą mapę, zawiera wszystko
{
	public List<CTower> Towers; //lista wszystkich wieżyczek
	/* ... */

	public void BuildTower(CTower tower, Vector2 position)
        {
            Money -= tower.m_cost;
            Towers.Add(new CTower(tower, position, ref this));  //! Nie działa, zapis 'ref this' jest niepoprawny!
        }

Jeśli zmienię konstruktor, by nie przyjmował referencji, tylko sam obiekt, to wtedy, przekazując go jako parametr, przekażę kopię obiektu, a nie sam obiekt....
Da się to jakoś zrobić? Na przykład za pomocą wskaźnika?

edytowany 2x, ostatnio: Hagis
Hagis
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 3 lata
  • Postów:8
0

Poradziłem sobie. Nie wiem, po co mi w ogóle było to ref... Chyba nie rozumiałem do końca przekazywania parametrów typu referencyjnego.

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.