Transfer listy pomiędzy klasami.

0

Dzień dobry,

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

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

1

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

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.

0

A czego konkretnie nie zrozumiałeś?

0

Jak to w formie kodu powinno wyglądać.

2
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);
0

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

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.

2

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

1
 
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);
	}
}

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