আমি TimeSpan
এক্সএমএলে একটি .NET অবজেক্টটি সিরিয়ালাইজ করার চেষ্টা করছি এবং এটি কাজ করছে না। একটি দ্রুত গুগল পরামর্শ দিয়েছে যে TimeSpan
সিরিয়ালাইজ করার সময় , এক্সএমএলে এবং থেকে বস্তুগুলিকে XmlCustomFormatter
রূপান্তর করার পদ্ধতি সরবরাহ করে না TimeSpan
।
প্রস্তাবিত পদ্ধতির একটি ছিল TimeSpan
সিরিয়ালাইজেশনের জন্য অগ্রাহ্য করা , এবং পরিবর্তে TimeSpan.Ticks
(এবং new TimeSpan(ticks)
deserialization জন্য ব্যবহার ) ফলাফল সিরিয়ালাইজ করা । এর একটি উদাহরণ নিম্নলিখিত:
[Serializable]
public class MyClass
{
// Local Variable
private TimeSpan m_TimeSinceLastEvent;
// Public Property - XmlIgnore as it doesn't serialize anyway
[XmlIgnore]
public TimeSpan TimeSinceLastEvent
{
get { return m_TimeSinceLastEvent; }
set { m_TimeSinceLastEvent = value; }
}
// Pretend property for serialization
[XmlElement("TimeSinceLastEvent")]
public long TimeSinceLastEventTicks
{
get { return m_TimeSinceLastEvent.Ticks; }
set { m_TimeSinceLastEvent = new TimeSpan(value); }
}
}
যদিও এটি আমার সংক্ষিপ্ত পরীক্ষায় কাজ করে বলে মনে হচ্ছে - এটি কি এটি অর্জনের সেরা উপায়?
এক্সএমএল থেকে এবং এর জন্য টাইমস্প্যানকে সিরিয়ালযুক্ত করার আরও ভাল উপায় কি?