2011-08-18 11 views
5

Bazılarının yardımcı olabileceğini umarız. DDay.iCal sürüm 1.0.1.490'ı .net sürüm 2 ile kullanma SerilizeToString yöntemini çağırdıktan sonra yinelenen olay olayları alıyorum.SerializeToString işlev çağrısı sırasında DDay.ical ics dosyalarının çoğaltma olaylarını tekrar etmesini nasıl engellerim

Örnek Kod:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using DDay.iCal; 
using DDay.iCal.Serialization.iCalendar; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      iCalendar iCal = new iCalendar(); 
      Event evt = iCal.Create<Event>(); 
      Uri eventLink = new Uri("http://middlebury.edu";); 
      evt.IsAllDay = false; 

      evt.Start = new iCalDateTime(DateTime.Parse("2011-08-11")); 
      evt.Duration = new TimeSpan(2, 0, 0); 
      evt.Location = "Test"; 
      evt.Summary = "Breakfast"; 
      evt.Url = eventLink; 
      evt.Description = "Sausage Links" + "\n" + "Pancakes" + "\n"; 

      iCal.Events.Add(evt); 

      iCalendarSerializer serializer = new iCalendarSerializer(iCal); 

      string result = serializer.SerializeToString(iCal); 
     } 
    } 
} 

cevap

10

çizgi Event evt = iCal.Create<Event>(), yeni bir etkinlik oluşturur takvimin etkinlik koleksiyonuna ekler ve döndürür. Daha sonra, aynı olayı takvimin etkinlik koleksiyonuna el ile eklersiniz: iCal.Events.Add(evt)

Create() yönteminin bu olayı takvime eklediğini farketmeden aynı şeyi yapıyordum. Olayı Event evt = new Event() olarak başlatmak için standart bir kurucu kullanın ya da takvimin etkinlik koleksiyonuna kitapçığı Add() kaldırın.

+0

Teşekkürler - bu bir çekicilik gibi çalıştı ve arka görüşte mükemmel bir anlam ifade ediyor. – seekay

+0

Teşekkür ederiz! Tam olarak ihtiyacım olan şey! – Sergey

İlgili konular