Какова цель синтаксиса Serialog @
?Что такое деструкция Serilog?
Если я запускаю следующее:
var dummy = new { Foo = "Bar", Date = DateTime.Now };
Log.Information("Dummy object: {Dummy}", dummy);
Тогда я получаю вывод на консоль так:
Time: 16:20 [Level: Information] (ManagedThreadID: 8) Message: Dummy object: "Foo = Bar, Date = 25/06/2016 16:20:30 }"
Если я изменю {Dummy}
к {@Dummy}
тогда я получаю тот же результат
Time: 16:22 [Level: Information] (ManagedThreadID: 8) Message: Dummy object: Foo: "Bar", Date: 06/25/2016 16:22:28 }
Итак, что такое @
Предполагаемое значение t o делать?
Да! Когда вы 'ToString()' анонимный тип, вы получаете сериализованную форму. – BanksySan
@BanksySan Вид ... 'ToString()' для анонимного типа по-прежнему дает вам одну строку, она просто выглядит красиво. '@' Намного больше, чем тот, который обеспечивает приемник сериализованным объектом, а приемник может делать с ним все, что захочет, включая хранение сериализованных данных. Попробуйте использовать Serilog с Seq (https://getseq.net), чтобы увидеть, насколько мощным может быть оператор '@'. –