2015-09-18 4 views
2

Я использую для создания объектов JavaScript, как показано ниже, но что было бы самым быстрым способом сделать то же самое с C#? Это просто статические данные, которые будут сериализованы для сообщения, которое не изменится. Раньше с C# я создавал классы и списки для всего, но в этом сценарии мне просто нужно отправить некоторые данные практики. Любая помощь будет оцененаComplex C# object

  var data = { 
       "dealer": { 
        "keyId": "vfase32sd", 
        "name": "mark" 
       }, 
       "seller": [ 
        { 
         "email": "[email protected]", 
         "active":false 
        } 
       ], 
       "state": [ 
        "TN", 
        "TX" 
       ]}; 

ответ

2

Вы можете использовать динамический ввод особенность C#

var data = new 
{ 
    dealer = new 
    { 
     keyId = "vfase32sd", 
     name = "mark", 
    }, 
    seller = new[] 
    { 
     new 
     { 
      email = "[email protected]", 
      active = false 
     } 
    }, 
    state = new [] 
    { 
     "TN", 
     "TX" 
    } 
}; 
+0

Это точная копия другого ответа! –

9

См Object and Collection Initializers

инициализатор объектов с типами Anonymous

Хотя объект Инициализаторы может использоваться в любом контексте, они являются особенно полезными в выражениях запроса LINQ , Выражения запросов часто используют анонимные типы , которые могут быть инициализированы только с помощью инициализатора объекта , как показано в следующем объявлении.

var pet = new { Age = 10, Name = "Fluffy" }; 

Например:

var data = new 
{ 
    dealer = new 
    { 
     keyId = "vfase32sd", 
     name = "mark" 
    }, 
    seller = new[] { 
     new { 
      email= "[email protected]", 
      active= false 
     } 
    }, 
    state = new[]{ 
     "TN", 
     "TX" 
    } 
}; 

Правило для преобразования, что JS объект C# объект прост:

  • "x": будет x=
  • {} будет new {}
  • [] будет new []{}
  • Значения остаются нетронутыми
+0

Вы можете воспроизвести с моим примером. Объект внутри объекта и массива внутри объекта, объекта внутри массива и т. Д. –

+0

@ osiris355 опубликовано –

+0

Совершенство. Спасибо –