Синтаксический анализ в JSON на языке C#


Я как раз работал над простой программой, которая использовала RestSharp для отправки метода POST в машину, которая обеспечивает ось движения.

var client = new RestClient("http://10.101.2.216/");
var request = new RestRequest("/api/task/library/command", Method.POST);
request.AddBody(new { command = "Enable X"});

...
Мне было интересно, что на самом деле происходит в этой последней строке. Какой тип переменной создается? Что на самом деле делает компилятор? Другими словами, как это преобразуется в JSON и почему это работает?
1 2

1 ответ:

C# 4.0 вводит анонимные типы. Эти типы не определяются каким-либо конкретным типом. Для построения анонимного типа используется синтаксис new { ... }. На самом деле RestSharp использует отражение для сериализации типа в JSON или XML.