Как записать DateTimeOffset в файл, используя StreamWriter - PullRequest
0 голосов
/ 07 февраля 2020

Я использую эту функцию для записи в файл в моем проекте 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 значения в файл.

Решение, которое я в настоящее время используется преобразование его в строку, но это выглядит немного грязно.

Есть ли более элегантный способ сделать это?

1 Ответ

1 голос
/ 07 февраля 2020

В конечном счете, даже если DateTimeOffset является структурой, более распространенным и полезным выражением в файле является строка. Вы можете выбрать формат по своему вкусу. Если вы хотите быть чистым, вы можете использовать формат ISO 8601, который поддерживает временные сдвиги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...