0

Winfows-Forms, на форме две кнопки (одна для записи, другая для чтения) И 3 текстбокса

namespace test
{
    public class Testing
    {
        public Testing()
        {
        }
    public Testing(string name, string age)
    {
        Name = name;
        Age = age;
    }

    public string Name { get; set; }
    public string Age { get; set; }
}

}

Далее добавляю данные и пробую загрузить их из свойства класса, но данные не выводятся

namespace test
{
    using System;
    using System.Windows.Forms;
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Testing ts = new Testing
        {
            Name = textBox1.Text,
            Age = textBox2.Text
        };
    }

    private void button2_Click(object sender, EventArgs e)
    {
        Testing ts = new Testing();
        textBox3.Text += $"{ts.Name + ts.Age}";
    }
}

}

Это глюк или я что-то не так делаю? (Забыл уже)...

  • 4
    Переведите слово new, что означает? "Новый", да? Ну а теперь смотрим, например на new Testing(), что означает? "Создать новый объект типа Testing. Ну раз он новый, то почему в нем должны быть старые данные? Создайте объект один раз и вынесите его за пределы методов, с ним уже и работайте. – EvgeniyZ Oct 30 '22 at 16:44
  • Вижу тут фундаментальную ошибку: "пробую загрузить их из свойства класса". Свойства класса не содержат никаких данных, так как класс - это всего лишь описание данных и методов, с ними связанных. А в программе создаются объекты каких-то классов, и в них уже хранятся данные. Создали объект, сохранили в нём данные - из этого же самого объекта и надо эти данные читать. – rotabor Oct 30 '22 at 17:17
  • А как мне тогда инициализировать класс Testing и в него добавлять данные если он не static или же можно просто сделать его статичным и обращаться от любого класса, как лучше? – ZuPoo Switch Oct 30 '22 at 20:52
  • https://ru.stackoverflow.com/a/835223/220553 – EvgeniyZ Oct 30 '22 at 21:34
  • @EvgeniyZ, а почему он не имеет никаких видимых геттеров и сеттеров? – ZuPoo Switch Oct 30 '22 at 23:28
  • @ZuPooSwitch https://ru.stackoverflow.com/a/197075/220553 – EvgeniyZ Oct 31 '22 at 07:27

1 Answers1

2
namespace test
{
    using System;
    using System.Windows.Forms;

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Testing ts;
        private void button1_Click(object sender, EventArgs e)
        {
            ts = new Testing();
            ts.Name = textBox1.Text;
            ts.Age = textBox2.Text;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox3.Text += $"{ts.Name + ts.Age}";
        }
    }
}
Nikita
  • 177
  • 7
  • Ваш ответ можно улучшить с помощью дополнительной информации. Пожалуйста, нажмите [edit] для добавления подробностей, например, цитат или документации, чтобы другие могли подтвердить правильность вашего ответа. Вы можете найти дополнительную информацию о том, как писать хорошие ответы в Справке. – Дух сообщества Nov 01 '22 at 04:49