Klasa prywatna a przesłanie do głównej formy Listy

0

Class User jest w osobnym dokumencie w Visual, Skoro moja klasa jest prywatna i taka MUSI POZOSTAC Tworzymy kolekcje klasy User w Form2 jak teraz dostać się do niej w Form1 nie używając Publicznej klasy ?

public partial class Form1 : Form
{

    List<users> Baza = new List<users>();

    
    public void Dodaj(List<users> aaa)
    {
        Baza = aaa;
    }

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click_1(object sender, EventArgs e)
    {

        Form2 f2 = new Form2(this);
        f2.Show();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        MessageBox.Show(Baza[0].Login);
    }
 public partial class Form2 : Form
    {
        private Form1 _forma1;
        private List<users> Baza_frm2 = new List<users>();
        public Form2(Form1 forma1)
        {
            InitializeComponent();
            this._forma1 = forma1;
        }

        private void button1_Click(object sender, EventArgs e)
        {          
            users temp=new users();           
            temp.Login="User1";
            Baza_frm2.Add(temp);
            _forma1.Dodaj(Baza_frm2);     
            
        }


    }

    class users
    {
        private string login;
        public string Login
        {
            get { return login; }
            set { this.login = value; }
        }

    }
0

Zależy co potrzebujesz zrobić.

public IEnumerable<User> Users {get {return Baza_frm2 ;}}

lub jeśli potrzebujesz wykonać jakąś operację

public void AddUser(User user)
{
  Baza_frm2 .Add(user);
}
0

Błąd dostępu klasa prywatna a chęć utworzenia obiektu publicznego ;/

0

W Form2
public IEnumerable<User> Users {get {return Baza_frm2 ;}}

W Form1

    Form2 f2 = new Form2(this);
    var users = f2.Users;
0

Cały czas to samo Niemożna utworzyć z prywatnej klasy publicznej metody ;/

0

Dobra mój błąd, nie zrozumiałem. Dlaczego klasa Users ma być prywatna?

0

Gdyż tak mówią paradygmaty programowania

0

Że KLASY mają być prywatne?

0

W OOP Wszystko powinno być prywatne a raczej być powinno

0

Jeśli mówisz o hermetyzacji to na pewno nie można jej stosować do wszystkiego bo wtedy nie można programować :D

0
danielk7vza napisał(a):

W OOP Wszystko powinno być prywatne a raczej być powinno

A jaki sens miałaby prywatna klasa, która nie jest klasą zagnieżdżoną?

0

Czyli ustawienie publicznej klasy jest dobrym wyjściem ?

0

Nie; uczyń ją internal.

internal class Foo
{
}
0

Albo uczyń ją publiczną/internal a konstruktor pozostaw prywatny. Nikt nie powołany jej nie stworzy ale będzie mógł korzystać z tego co udostępnisz.

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