Transfer listy pomiędzy klasami.

Transfer listy pomiędzy klasami.
MG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Dzień dobry,

Chciałbym dowiedzieć się, czy jest możliwość przenieść listę pomiędzy klasami.

Kopiuj
Klasa1
{
     W niej zdefiniowana lista obiektów typu klasa 2
    
     Klasa2{ ... }
}

Klasa3
{
    Tutaj chciałbym operować na liście z klasy 1.
}

Dokładniej chodzi mi o to, abym mógł użyć listy zdefiniowanej w Klasie1 - w Klasie3.
Na takiej zasadzie, że tworzę sobie najpierw obiekt Klasy1, wypełniam listę, następnie tworzę obiekt Klasy3, który chciałbym żeby przyjął listę z Klasy1.

Pozdrawiam.

dodanie znacznika <code class="csharp"> - @furious programming

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

Udostępnij tę listę jako właściwość Klasy1, a potem przekaż ją w konstruktorze do Klasy3.

MG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0
somekind napisał(a):

Udostępnij tę listę jako właściwość Klasy1, a potem przekaż ją w konstruktorze do Klasy3.

Mógłbyś pokazać to jakoś bardziej od praktycznej strony? :)

Dzięki.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

A czego konkretnie nie zrozumiałeś?

MG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Jak to w formie kodu powinno wyglądać.

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
2
Kopiuj
Klasa1
{
    public List<string> Lista { get; private set; }
}

Klasa3
{
    private List<string> lista;

    public Klasa3(List<string> lista)
    {
        this.lista = lista;
    }
}

var klasa1 = new Klasa1();
var klasa3 = new Klasa3(klasa1.Lista);
MG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Dzięki, jednak u mnie wygląda to tak:

Kopiuj
Klasa1
{
    public List<Element> elements_list;

    class Element
        {
            public double value_a;
            public double value_b;

            public int c;
         
        }
}

Klasa3
{
   Tutaj pojawia się problem z tym, że nie mogę pracować na typie Element
}

Pozdrawiam.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
2

To uczyń klasę Element publiczną, a nie prywatną.

grzesiek51114
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2442
1
Kopiuj
 
using System;
using System.Collections.Generic;

class Klasa1{
	public Klasa1(){ this.lista = new List<Klasa2>(); }
	public class Klasa2{ };
	public List<Klasa2> lista;
}

class Klasa3{
	public Klasa3(List<Klasa1.Klasa2> lista){ this.lista = lista; }
	private List<Klasa1.Klasa2> lista;
}

public class Test
{
	public static void Main()
	{
		Klasa1 kl1 = new Klasa1();
		Klasa3 kl3 = new Klasa3(kl1.lista);
	}
}

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.