2011-08-18 7 views
5

के दौरान डुप्लिकेशन ईवेंट दोहराने से कैसे रोकूं? उम्मीद है कि कोई भी मदद कर सकता है। .NET संस्करण 2 के साथ DDay.iCal संस्करण 1.0.1.490 का उपयोग करना मुझे SerilizeToString विधि को कॉल करने के बाद डुप्लिकेट ईवेंट ईवेंट प्राप्त होते हैं।मैं Dialayical ics फ़ाइलों को SerializeToString फ़ंक्शन कॉल

उदाहरण कोड:

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); 
     } 
    } 
} 

उत्तर

10

लाइन Event evt = iCal.Create<Event>(), एक नई घटना बनाता कैलेंडर के ईवेंट संग्रहण में जोड़ लेता है, और यह देता है। बाद में, आप कैलेंडर ईवेंट के संग्रह में मैन्युअल रूप से एक ही ईवेंट जोड़ते हैं: iCal.Events.Add(evt)

मैं वही कर रहा था, यह महसूस नहीं कर रहा था कि Create() विधि कैलेंडर को ईवेंट में जोड़ती है। या तो ईवेंट को प्रारंभ करने के लिए मानक कन्स्ट्रक्टर का उपयोग करें, Event evt = new Event(), या कैलेंडर के ईवेंट संग्रह में मैन्युअल Add() हटाएं।

+0

धन्यवाद - यह एक आकर्षण की तरह काम करता है, और हिंडसाइट में सही मायने रखता है। – seekay

+0

धन्यवाद! वास्तव में मुझे क्या चाहिए! – Sergey

संबंधित मुद्दे