C# 从iCal事件获取描述
我想从项目列表中获取一天空闲时间的描述。日历集合是从文件路径加载的。该文件是一个*.ics文件。 一切正常,但我不知道如何得到描述。在ics文件中,每天都有一个名称,写在“SUMMARY;LANGUAGE”-节点下。但这不是每个代码都可以访问的,或者我根本找不到它C# 从iCal事件获取描述,c#,icalendar,C#,Icalendar,我想从项目列表中获取一天空闲时间的描述。日历集合是从文件路径加载的。该文件是一个*.ics文件。 一切正常,但我不知道如何得到描述。在ics文件中,每天都有一个名称,写在“SUMMARY;LANGUAGE”-节点下。但这不是每个代码都可以访问的,或者我根本找不到它 iCal.IICalendarCollection calendars = iCal.iCalendar.LoadFromFile(icsFilePath); IList<iCa
iCal.IICalendarCollection calendars =
iCal.iCalendar.LoadFromFile(icsFilePath);
IList<iCal.Occurrence> occ =
calendars.GetOccurrences(DateTime.MinValue, DateTime.MaxValue);
List<Feiertag> days = new List<Feiertag>();
foreach (Occurrence item in occ)
{
if (item.Period.StartTime.Date.Year == 2014)
{
MyClass frday = new MyClass();
frday.Datum = item.Period.StartTime.Date;
//item.Period.Language = null
frday.Bezeichnung = item.Period.Language;
days.Add(frday);
}
}
iCal.iiCalendars集合日历=
iCalendar.LoadFromFile(icsFilePath);
IList occ=
calendars.getoccurrents(DateTime.MinValue、DateTime.MaxValue);
列表天数=新列表();
foreach(occ中的发生项目)
{
如果(item.Period.StartTime.Date.Year==2014)
{
MyClass frday=新的MyClass();
frday.Datum=item.Period.StartTime.Date;
//item.Period.Language=null
frday.Bezeichnung=item.Period.Language;
天。添加(frday);
}
}
您可能正在寻找PidTagSubject
,取自。在输出中,您可以看到它被转换为:
SUMMARY;语言=英语美语:午餐
否则,您要做的就是。我已经用日历事件解决了这个问题
List<DayClass> days = new List<DayClass>();
IICalendar cal = iCal.iCalendar.LoadFromFile(icsFilePfad).FirstOrDefault();
if (cal != null)
{
foreach (var even in cal.Events)
days.Add(new DayClass(even.Start.Date, even.Description));
}
列表天数=新列表();
IICalendar cal=iCal.iCalendar.LoadFromFile(icsFilePfad).FirstOrDefault();
如果(校准!=null)
{
foreach(计算事件中的var偶数)
添加(新的DayClass(偶数.Start.Date,偶数.Description));
}
我不知道该如何处理这个pittagsubject,你有一个如何使用这个protocoll的例子吗?但是为了给您一个更好的视角,我尝试将*.ics-文件加载到ICalendar类中。我的方法返回一个带有“holder类”(DateTime和Description)的列表。holder类应该只填写免费天数。所以每个自由日都有一个名字。@user3698577你见过吗?这可能会有帮助…请发布ics文件的摘录。