Вам необходимо сообщить системе , какой список имен вас интересует. Это часть состояния объекта, экземпляр класса ... но какой? Возможно, вы создали несколько экземпляров класса - возможно, вы создали нет экземпляров класса. Статический метод не имеет никакой видимости этого - так какой экземпляр вы хотите, чтобы он извлек значение переменной names
из?
Чтобы поместить это в другой пример, предположим, что у нас был такой класс:
public class Person
{
public double MassInGrams { get; set; }
public double HeightInMetres { get; set; }
public static double ComputeBodyMassIndex()
{
// Which person are we interested in?
}
}
Person p1 = new Person { MassInGrams = 76203, HeightInMetres = 1.8 };
Person p2 = new Person { MassInGrams = 65000, HeightInMetres = 1.7 };
double bmi = Person.ComputeBodyMassIndex();
Каким вы ожидаете получить результат? Вы попросили класс Person
вычислить "ИМТ", но не сказали ему чей ИМТ для вычисления. Вы должны предоставить ему эту информацию.
Некоторые варианты для вашей ситуации:
- Заменить
names
на статический вместо
- Измените метод на метод экземпляра
- Передача в экземпляр класса
- Создать экземпляр класса, возможно, вернув его
- Получить экземпляр класса другим способом
Кстати, это очень странное имя метода для чего-то, что добавляет имя. Это также несколько нетрадиционно ...