Wątek przeniesiony 2014-01-10 13:40 z C# i .NET przez somekind.

Dostęp z jednej klasy do danego elementu drugiej klasy

0

Co trzeba dopisać do takiego kodu żeby mieć dostęp z jednej klasy do jakiegoś elementu innej klasy? W tym przypadku do zerowego elementu listy Lista2 bo wywala mi błąd w miejscu Lista1.Add(Lista2[0]);

using System;
using System.Collections;

namespace ConsoleApplication1
{
    class Klasa1
    {
        ArrayList Lista1 = new ArrayList();

        public void Dodaj()
        {
            Lista1.Add(Lista2[0]);
        }
    }

    class Klasa2
    {
        ArrayList Lista2 = new ArrayList();

        public void Dodaj()
        {
            Lista2.Add("Napis");
        }
    }
}
0

Modyfikator public, ale zrób z tego chociaż właściwość, a nie pole.
I nie używaj ArrayList tylko List<string>.

0

Próbowałem dodać public ale nie wiem dokładnie gdzie, użyłem ArrayList bo w liście przechowuję zmienne różnego typu a tu przedstawiłem tylko mały fragment mojego kodu dla przedstawienia problemu

0

Poczytaj podstawy o klasach, zwłaszcza czym jest klasa a czym obiekt tej klasy.

0

Musisz też oczywiście powiązać jakoś ze sobą obiekty Klas1 i Klas2, czyli jeden musi mieć referencję do drugiego.

using System;
using System.Collections;

namespace ConsoleApplication1
{
    class Klasa1
    {
        private Klasa2 klasa2;
        public ArrayList Lista { get; set; }

        public Klasa1(Klasa2 klasa2)
        {
             this.klasa2 = klasa2;
             this.Lista = new ArrayList();
        }

        public void Dodaj()
        {
            Lista.Add(this.klasa2.Lista[0]);
        }
    }

    class Klasa2
    {
        public ArrayList Lista { get; set; }

        public Klasa1()
        {
             this.Lista = new ArrayList();
        }

        public void Dodaj()
        {
            Lista.Add("Napis");
        }
    }
}

A skoro potrzebujesz przechowywać obiekty różnych typów, to potrzebujesz różnych kolekcji.

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