Ошибка говорит о проблеме: локальные переменные (student1
), объявленные в методе (Main
), не доступны в других методах (ClassOperations
, текущий контекст). У вас есть несколько вариантов:
- (stati c) свойство
- (stati c) поле
- параметр метода
В этом примере «лучшим» вариантом является передача вашей переменной student1
в качестве параметра методу ClassOperations
:
static void Main(string[] args) {
// setup elided
Students student1 = new Students(marks);
student1.name = inputName;
// pass as parameter
ClassOperations(student1);
}
static void ClassOperations(Students student) {
// access value via new name "student"
Console.WriteLine(student.name);
}
Основываясь на ваших комментариях, вот какая альтернатива с полем может выглядеть так:
static Students student; //static field
static void Main(string[] args) {
// setup elided
// initialize static field
student = new Students(marks);
student.name = inputName;
ClassOperations();
}
static void ClassOperations() {
// access value via static field "student"
Console.WriteLine(student.name);
}