Передать словарь в новую форму C#

В моей основной форме я создаю новую форму:

private void buttonCreatePositionForm_Click(object sender, EventArgs e)
{ 
 f3 = new FormPosition(textBoxFiltermachineid.Text, textBoxFilterPositionFile.Text);
 f3.Show();
}

Я также использую словарь, который заполняется с помощью основной формы:

Dictionary<String, List<Reorder>> reorderPerFilename = new Dictionary<string, List<Reorder>>();

class Reorder
        {
            public int reordernumber { get; set; }
            public string reordervalue { get; set; }
            public int reorder0 { get; set; }
            public int reorder1 { get; set; }
            public int reorder2 { get; set; }
            public int reorder3 { get; set; }
            public int reorder4 { get; set; }
            public int reorder5 { get; set; }
            public int reorder6 { get; set; }
        }

Теперь я хочу передать этот словарь с его содержимым в новую форму, чтобы можно было использовать значения:

        public FormPosition(string machineId, string reorderCondition)
        {
            InitializeComponent();

            if (!string.IsNullOrWhiteSpace(machineId) && !string.IsNullOrWhiteSpace(reorderCondition))
            {
                labelMachineId.Text = machineId;
                labelReorderCondition.Text = reorderCondition;     
            }  
        }

Я постоянно получаю ошибки

Ошибка 4 Аргумент 1: невозможно преобразовать из "System.Collections.Generic.Dictionary>" в "System.Collections.Generic.Dictionary>"

при попытке это:

private void buttonCreatePositionForm_Click(object sender, EventArgs e)
        {
            f3 = new FormPosition(reorderPerFilename, textBoxFiltermachineid.Text, textBoxFilterPositionFile.Text);
            f3.Show();
        }

class Reorder2
        {
            public int reordernumber { get; set; }
            public string reordervalue { get; set; }
            public int reorder0 { get; set; }
            public int reorder1 { get; set; }
            public int reorder2 { get; set; }
            public int reorder3 { get; set; }
            public int reorder4 { get; set; }
            public int reorder5 { get; set; }
            public int reorder6 { get; set; }
        }

        public FormPosition(Dictionary<String, List<Reorder2>> reorderPerFilename, string machineId, string reorderCondition)
        {
            InitializeComponent();

            if (!string.IsNullOrWhiteSpace(machineId) && !string.IsNullOrWhiteSpace(reorderCondition))
            {
                labelMachineId.Text = machineId;
                labelReorderCondition.Text = reorderCondition;     
            }  
        }

Что я здесь не так делаю?

1 ответ

Вы можете добавить свойство к классу человека. Но это должно быть статическое свойство.

Статические свойства могут быть доступны без создания экземпляра.

Они создаются при запуске вашего приложения и живут до тех пор, пока ваше приложение не закроется

Другие вопросы по тегам