Записать CSV из вложенного анонимного объектаC#

Место общения программистов C#
Ответить
Anonymous
 Записать CSV из вложенного анонимного объекта

Сообщение Anonymous »

Мне не удалось написать CSV для следующей структуры, я почти уверен, что это должно быть возможно автоматически, но я что-то упускаю...
_recordedData — это Dictionnary из List, например, свойство данных RecordedSample для определенного ключа словаря всегда будет одинаковым.
Например, _recordedData["eulerAngle"] вернет List, где свойство данных каждого RecordSample — это структура EulerAnglesMessage.
Но когда я пытаюсь экспортировать каждый List словарь в методе ExportRecordedData(), результирующий файл CSV не содержит свойства структуры данных.
Я не знаю, чего мне не хватает, чтобы он работал.. .
Большое спасибо за помощь!
private static Dictionary _recordedData = new Dictionary();

private class RecordSample
{
public double record_time_ms { get; set; } // The elapsed time in ms since the begining of the recording
public string record_id; // A string identifier to identify the sensors device at the origin of the record
public object data { get; set; } // The data beeing recorded
}

public struct EulerAnglesMessage
{
public UInt64 timestamp { get; set; }
public float roll { get; set; }
public float pitch { get; set; }
public float yaw { get; set; }
}

public struct QuaternionMessage
{
public UInt64 timestamp { get; set; }
public float w { get; set; }
public float x { get; set; }
public float y { get; set; }
public float z { get; set; }
}

private static void ExportRecordedData()
{
foreach (string key in _recordedData.Keys)
{
string path = $"{export_path}\\{key}.csv";
using (var writer = new StreamWriter(path))
{
using (CsvWriter csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
csv.WriteRecords(_recordedData[key]);
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... ous-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»