Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从iCal事件获取描述_C#_Icalendar - Fatal编程技术网

C# 从iCal事件获取描述

C# 从iCal事件获取描述,c#,icalendar,C#,Icalendar,我想从项目列表中获取一天空闲时间的描述。日历集合是从文件路径加载的。该文件是一个*.ics文件。 一切正常,但我不知道如何得到描述。在ics文件中,每天都有一个名称,写在“SUMMARY;LANGUAGE”-节点下。但这不是每个代码都可以访问的,或者我根本找不到它 iCal.IICalendarCollection calendars = iCal.iCalendar.LoadFromFile(icsFilePath); IList<iCa

我想从项目列表中获取一天空闲时间的描述。日历集合是从文件路径加载的。该文件是一个*.ics文件。 一切正常,但我不知道如何得到描述。在ics文件中,每天都有一个名称,写在“SUMMARY;LANGUAGE”-节点下。但这不是每个代码都可以访问的,或者我根本找不到它

        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文件的摘录。