Day.icalを使用してiCalを逆シリアル化し、そのプロパティを見つけることができません

StackOverflow https://stackoverflow.com//questions/9629016

  •  09-12-2019
  •  | 
  •  

質問

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のウェブサイトをチェックしましたが、一日中停止しています。

役に立ちましたか?

解決

After some digging, it turns out that IICalendarCollection has a nested Event collection that needs to be parsed as follows.

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});
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top