У меня есть метод, который является чем-то вроде этого:Передача формы в метод возвращает нулевую ссылку?
public void Report(Form form, string[] textboxes, string[] patientdetails)
{
try
{
int i = 0;
foreach (string textbox in textboxes)
{
form.Controls.OfType<TextBox>().FirstOrDefault(n => n.Name == textbox).Text = patientdetails[i];
i++;
}
form.ShowDialog();
}
catch (Exception ex)
{
}
}
путем передачи аргументов эти возвращения объекта refrence не установлен в качестве объекта экземпляра:
string[] textboxes = new string[] { "txtPatientName", "txtAge", "txtGender","txtTestType","txtDate" };
string[] patientDetails = new string[]{"Ammar Bashir", "19", "Male", "White Blood Cell Test", "12 March , 2013"};
//Test a winform which contain textboxes.
Report(Test, textboxes, patientDetails);
Отлаживайте этот код и сообщите нам, где проблема на самом деле. Я предполагаю, что 'FirstOrDefault (n => n.Name == textbox)' возвращает null для одного из этих имен текстовых полей. – Tim
Это означает, что он не нашел текстовые поля в форме, которая передается как параметр, и да, это строка кода, которая бросает исключение. –
Правильно ... так почему существует несоответствие между строками и тем, что находится на форме? – Tim