我有一个类Person:
public class Person
{
public string firstName { get; set; }
public string lastName { get; set; }
public int age { get; set; }
public IEnumerable<Person> GetPersons(string path)
{
var personlist = new List<Person>();
var lines = System.IO.File.ReadAllLines(path);
foreach (var line in lines)
{
var split = line.Split(";");
var firstName = split[0];
var lastName = split[1];
var age = split[2];
Person person = new Person
{
firstName = firstName,
lastName = lastName,
age = int.Parse(age),
};
personlist.Add(person);
}
return personlist;
}
}
在我的Main方法中,我想将方法GetPersons(string path)
应用于列表
var list = new List<Person>();
list = GetPersons("persons.csv");
我没有编译,出现错误CS0103:名称"GetPersons"在当前上下文中不存在
您已经将GetPersons
设置为实例方法,这意味着您需要一个Person
的实例来调用它-这对您正在做的事情没有太大意义。
使其成为static
:有一定的意义
public class Person
{
public static IEnumerable<Person> GetPersons(string path)
{
// ... //
}
}
然后称之为:
var list = Person.GetPersons("persons.csv");
但是,您应该考虑Person
类是否是该代码的正确位置。
您需要创建Person类的新实例,然后调用GetPersonvar list = new List<Person>();
var person = new Person();
list = person.GetPersons("persons.csv");