Я использую эту функцию для записи в файл в моем проекте UWP:
public static async Task WriteToFileAsync<T>(string fileName, T objectToWrite) where T : new()
{
StorageFolder storageFolder = ApplicationData.Current.LocalFolder
TextWriter writer = null;
try
{
StorageFile file = await storageFolder.CreateFileAsync(fileName + ".txt");
var serializer = new XmlSerializer(typeof(T));
var stream = await file.OpenStreamForWriteAsync();
writer = new StreamWriter(stream);
serializer.Serialize(writer, objectToWrite);
}
finally
{
if (writer != null)
writer.Close();
}
}
Однако, похоже, это не записывает DateTimeOffset
значения в файл.
Решение, которое я в настоящее время используется преобразование его в строку, но это выглядит немного грязно.
Есть ли более элегантный способ сделать это?