0

Есть главный код, здесь я при нажатии на кнопку plant1_Click хочу создавать экземпляр класса Plant, присваивая ему значения name, color и age.

Позже я хочу изменять значение age из главного кода.

Так же я хочу вызывать метод ShowInfo в главном коде, который должен показывать значения переменных объекта класса Plant

Но ничего не работает :( Я не понимаю как мне обратиться к созданному объекту, в других функциях (кроме той, где его конструктор Plant newPlant = new Plant()) чтобы изменить значения переменных.

А метод ShowInfo Вообще пишет что infoBlock не существует в ее контексте.( что конечно же логично, но как тогда делать )

Помогите пожалуйста. Исходник: https://drive.google.com/file/d/1F0eADjJtHDpiW64SGSzptgzRZv324YHS/view?usp=sharing

namespace plant
{
public partial class MainWindow : Window
{
    bool day = false;
    string color, name;
    int age;

    public MainWindow()
    {
        InitializeComponent();     
    }

    void plant1_Click(object sender, RoutedEventArgs e)
    {
        if (String.IsNullOrWhiteSpace(plantName.Text))
        {
            MessageBox.Show("Введите название растения");
        }
        else
        {
            if (color != null)
            {
                Plant newPlant = new Plant();
                newPlant.name = plantName.Text;
                newPlant.color = color;
                newPlant.age = 0;
                switch (color)
                {
                    case "red":
                        //plantImage.Source = ConvertBitmapToBitmapImage(Properties.Resources.redPlant);
                        break;
                    case "green":
                        //plantImage.Source = ConvertBitmapToBitmapImage(Properties.Resources.greenPlant);
                        break;
                    case "yellow":
                        //plantImage.Source = ConvertBitmapToBitmapImage(Properties.Resources.yellowPlant);
                        break;
                }
                //garden.Source = ConvertBitmapToBitmapImage(Properties.Resources.garden);
            }
            else
            {
                MessageBox.Show("Выберите цвет");
            }
        }}}}

Класс Plant

namespace plant
{
    internal class Plant
    {
        public string name;
        public int age;
        public string color;
    public void ShowInfo()
    {
        infoBlock.Inlines.Add(new Run("Информация о растении:"));
        infoBlock.Inlines.Add(new Run("Имя:"));
        infoBlock.Inlines.Add(new Bold(new Run(newPlant.name)));
        infoBlock.Inlines.Add(new Run("Цвет:"));
        infoBlock.Inlines.Add(new Bold(new Run(newPlant.color)));
        infoBlock.Inlines.Add(new Run("Возраст:"));
        infoBlock.Inlines.Add(new Bold(new Run(Convert.ToString(newPlant.age))));
    }
}

}