Передать словарь в новую форму 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 ответ
Вы можете добавить свойство к классу человека. Но это должно быть статическое свойство.
Статические свойства могут быть доступны без создания экземпляра.
Они создаются при запуске вашего приложения и живут до тех пор, пока ваше приложение не закроется