当我尝试使用该方法时,我不断被告知:
非静态字段,方法或属性'System.Globalization.Calendar.GetWeekOfYear(System.DateTime,System.Globalization.CalendarWeekRule,System.DayOfWeek)'
需要对象引用
filter(List, PredName, Result)
我似乎无法弄明白为什么。我错过了什么?
答案 0 :(得分:9)
GregorianCalendar需要实例化,然后你可以调用方法
private static int GetWeekNumber(DateTime time)
{
GregorianCalendar cal = new GregorianCalendar();
int week = cal.GetWeekOfYear(time, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
return week;
}
当您使用类名后跟方法名称时,类开发人员应该将该方法定义为静态(以使其在没有实例的情况下可用)。 GetWeekOfYear的情况并非如此。此方法是一个实例方法,因此您需要一个GregorianCalendar类的实例。
答案 1 :(得分:0)
需要班级的实例
DateTime time = DateTime.Now;
GregorianCalendar calendar = new GregorianCalendar();
int week = calendar.GetWeekOfYear(time, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);