0

我正在尝试在其他类的方法中引用我的公共类属性,但我不能正确地执行它。有没有人可以帮忙?它是 ExtractData( Event special.Day ) 部分。

public static List<Event> ExtractData(Event special.Day)
{
   int intChosenDay = special.Day;  

    StreamReader textIn =
    new StreamReader(
    new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read));

     //create the list
     List<Event> events = new List<Event>();



     string[] lines = File.ReadAllLines(path);

     for (int index = 4; index < lines.Length; index += 5)
     {
        Event special = new Event();
        special.Day = Convert.ToInt32(lines[index - 4]);
        special.Time = (lines[index - 3]);
        special.Price = Convert.ToDouble(lines[index - 2]);
        special.StrEvent = lines[index - 1];
        special.Description = lines[index];
        events.Add(special);
     }

     textIn.Close();

     return events;

}
4

2 回答 2

1

如果要将参数传递Day给方法,则应指定其类型,而不是事件类型。喜欢:

public static List<Event> ExtractData(int Day)
{
 //....your code
}

(如果 Day 是int类型,则指定int,否则相应地指定类型。

以后你可以这样称呼它:

Events event = new Event();
var list = ExtractData(event.Day);

由于ExtractData是一个静态方法,如果您从类外部调用它,则必须使用类名调用它,例如:

var list = Event.ExtractData(event.Day); //if the class name is Event
于 2013-04-26T04:34:30.583 回答
0

您不能在方法定义中访问成员属性,只能定义传入的函数参数(通过“[type] [variable-name]”格式)。

实现您想要做的事情的一种方法是在您的方法中,您可以访问该属性并直接使用它或将其存储到另一个变量:

public static List<Event> ExtractData(Event theEvent) {
    int day = theEvent.Day;
    // ...
于 2013-04-26T04:37:16.550 回答