Имея класс определен:Создать объект .NET с DataContract из словаря
[DataContract]
public class Command
{
[DataMember(Name = "cmdName")]
public string CommandName { get; set; }
[DataMember(Name = "cmdTransactionId")]
public string CommandTransactionId { get; set; }
}
Я хотел бы создать экземпляр этого класса из словаря:
Dictionary<string, object> propertyBag = new Dictionary<string, object>();
propertyBag["cmdName"] = "cmd1";
propertyBag["cmdTransactionId"] = "1";
Command command = deserializer.Create<Command>(propertyBag);
DataContractSerializer
не работает для я и не JavaScriptSerializer.ConvertToType
, так как в каждой из них отсутствует кусок, который останавливает меня от создания объектов за один раз.
Не могли бы вы использовать команду 'var command = new Command {CommandName =" cmd1 ", CommandTransactionId =" 1 "};'? –
Это значительно упрощено (просто пример). У меня есть 30 классов DataContract и 300 таких свойств. Вместо DataMember я мог бы использовать JsonProperty, например. – algorytmus
Что бы я, наверное, первым попробовал, это взять словарь свойств. Преобразуйте эти «объекты» в строку JSON. Затем преобразуйте эту строку JSON в фактический класс объекта. С помощью этого шаблона вы в основном воссоздаете поведение JSON от клиента к серверу по API или из данных формы. – krillgar