Очевидный ответ:
Eagle_Eye_Class_Finder.GetSchedule.Main()
Но мне кажется, что вы надеетесь что-то сделать со значением
900456317
Чтобы это работало, вам нужно объявить дополнительную функцию, которая получает это значение в качестве параметра, а затем делает с ним что-то полезное. Может быть что-то вроде:
static void ProcessNumber(IDNumber myNum)
{
StringBuilder myData = new StringBuilder();
myData.AppendLine(IDnumber.Name);
myData.AppendLine(": ");
myData.AppendLine(IDnumber.ID);
myData.AppendLine(IDnumber.year);
myData.AppendLine(IDnumber.class1);
myData.AppendLine(IDnumber.class2);
myData.AppendLine(IDnumber.class3);
myData.AppendLine(IDnumber.class4);
MessageBox.Show(myData);
}
Тогда вы можете назвать это как:
if (text == "900456317")
{
Eagle_Eye_Class_Finder.GetSchedule.ProcessNumber(new IDnumber() { Name = "Joshua Banks",ID = "900456317", year = "Senior", class1 = "TEET 4090", class2 = "TEET 3020", class3 = "TEET 3090", class4 = "TEET 4290" });
}
Возможно, было бы проще, если бы вы могли дать более подробную информацию о том, что именно вы надеетесь достичь.
EDIT
Что для этого нужно сделать, это переместить концепцию массива IDnumbers из самого вызова функции в член класса. Например, рассмотрите возможность добавления следующего кода:
IDnumber[] IDnumbers = new IDnumber[3];
public GetSchedule()
{
IDnumbers[0] = new IDnumber() { Name = "Joshua Banks",ID = "900456317", year = "Senior", class1 = "TEET 4090", class2 = "TEET 3020", class3 = "TEET 3090", class4 = "TEET 4290" };
IDnumbers[1] = new IDnumber() { Name = "Sean Ward", ID = "900456318", year = "Junior", class1 = "ENGNR 4090", class2 = "ENGNR 3020", class3 = "ENGNR 3090", class4 = "ENGNR 4290" };
IDnumbers[2] = new IDnumber() { Name = "Terrell Johnson",ID = "900456319",year = "Sophomore", class1 = "BUS 4090", class2 = "BUS 3020", class3 = "BUS 3090", class4 = "BUS 4290" };
}
Это приведет к тому, что этот код будет запускаться каждый раз, когда вы создаете новый экземпляр вашего класса. Тогда вы можете иметь функцию
public string GetDataFromNumber(string ID)
{
foreach (IDnumber idCandidateMatch in IDnumbers)
{
if (IDCandidateMatch.ID == ID)
{
StringBuilder myData = new StringBuilder();
myData.AppendLine(IDnumber.Name);
myData.AppendLine(": ");
myData.AppendLine(IDnumber.ID);
myData.AppendLine(IDnumber.year);
myData.AppendLine(IDnumber.class1);
myData.AppendLine(IDnumber.class2);
myData.AppendLine(IDnumber.class3);
myData.AppendLine(IDnumber.class4);
return myData;
}
}
return "";
}
И тогда ваш вызов метода из Form1 изменится на:
public void button2_Click(object sender, System.EventArgs e)
{
string text = textBox1.Text;
Mainform = this;
this.Hide();
GetSchedule myScheduleFinder = new GetSchedule();
string result = myScheduleFinder.GetDataFromNumber(text);
if (!string.IsNullOrEmpty(result))
{
MessageBox.Show(result);
}
else
{
MessageBox.Show("Enter A Valid ID Number!");
}
}
Идея здесь состоит в том, чтобы разбить вашу программу на серию меньших «частей», каждая из которых отвечает за выполнение одной вещи и выполнение ее хорошо. В этом случае класс GetSchedule представляет часть вашей программы, которая, имея идентификационный номер, может получить описание этого пользователя. Строка кода выше, которая гласит
GetSchedule myScheduleFinder = new GetSchedule();
в основном говорит: «Мне нужна новая копия моего класса GetSchedule, и я хочу отслеживать ее с именем« myScheduleFinder »». Всякий раз, когда вы видите слово «новый» в C #, это то, что происходит. Когда за словом «new» следуют имя класса и скобки, оно вызывает то, что называется «конструктором». Конструкторы - это в основном специальные функции, которые вызываются каждый раз при создании класса; в вашем случае это код, который мы поместили в метод
public GetSchedule()
Теперь, учитывая, что у нас есть копия класса GetSchedule, правильно инициализированная нашим конструктором, мы можем вызвать функцию ProcessNumber для этого класса, передав число, которое мы ищем. Оператор 'if' в основном гарантирует, что из всех наших возможных записей мы используем только ту, которая имеет тот же идентификатор. Затем мы берем эту запись, преобразуем ее в строку и возвращаем. Затем мы показываем это в изящном маленьком окне сообщения, хотя вы, очевидно, можете делать с ним все, что захотите.