gpt4 book ai didi

c# - 使用 DDay.iCal 反序列化 iCal,找不到属性

转载 作者:行者123 更新时间:2023-11-30 12:33:15 25 4
gpt4 key购买 nike

我正在尝试反序列化 iCal 文件,然后将集合映射到自定义 POCO。问题是我不确定属性存储在哪里。

这是反序列化方法

public static IICalendarCollection Deserialize(String iCalUri)
{

var wc = new WebClient();
var result = wc.DownloadString(iCalUri);

using (var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(result)))
{
var serializer = new iCalendarSerializer();
var collection = (iCalendarCollection)serializer.Deserialize(memoryStream, Encoding.UTF8);
return collection;
}
}

然后在我的服务中,我尝试将属性映射到我的 POCO,但找不到属性。

var url = string.Format(GoogleICalUrl, calendarID);
var feed = iCalUtility.Deserialize(url);

foreach(var e in feed)
{
calendarModel.title = e.WhereTheHellAreThePropertiesKept;
}

有谁知道遍历 iCalendarCollection 并获取所有属性的正确方法吗?

我查看了 DDay 网站,但它已经关闭了一整天。

最佳答案

经过一番挖掘,发现 IICalendarCollection 有一个嵌套的 Event 集合,需要按如下方式解析。

var url = string.Format(GoogleICalUrl, calendarID);
var feed = iCalUtility.Deserialize(url);

foreach (var ev in feed.SelectMany(e => e.Events))
{
calendarModel.Add(new CalendarModel {description = ev.Description,
title = ev.Summary});
}

关于c# - 使用 DDay.iCal 反序列化 iCal,找不到属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9629016/

25 4 0
文章推荐: c# - 设置STS但在webapp中保留formauthentication
文章推荐: javascript - 从 `array` 中移除 `