Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一种减少手动创建的DTO数量的方法_C#_Json - Fatal编程技术网

C# 一种减少手动创建的DTO数量的方法

C# 一种减少手动创建的DTO数量的方法,c#,json,C#,Json,我对基于服务的体系结构相当陌生,所以在回应时请牢记这一点。我正在处理的项目有很多潜在的数据对象,需要映射到这些对象的服务器端表示。所有服务方法都使用JSON符号返回它们。我创建了DTO来处理从JSON对象到服务器端对象的映射。然而,我发现在我的DTO中有太多的重复。例如 我有许多JSON对象具有这种简单的结构: [ {“性别”:“男性”}, {“性别”:“女性”} ] 我对应的DTO如下所示: [DataContract] public class Gender { [DataMembe

我对基于服务的体系结构相当陌生,所以在回应时请牢记这一点。我正在处理的项目有很多潜在的数据对象,需要映射到这些对象的服务器端表示。所有服务方法都使用JSON符号返回它们。我创建了DTO来处理从JSON对象到服务器端对象的映射。然而,我发现在我的DTO中有太多的重复。例如

我有许多JSON对象具有这种简单的结构:

[
{“性别”:“男性”},
{“性别”:“女性”}
]

我对应的DTO如下所示:

[DataContract]
public class Gender
{
    [DataMember(Name = "gender")]
    public string GenderValue { get; set; }
}
现在,我又有15个具有相同结构的JSON对象,即一个具有字符串值的单字段对象。我不希望创建15个DTO,而是希望有一个参数(如字段名和字段类型)的方法来动态创建DTO,但我不相信这是最好的解决方案


建议?

您拥有的是一个数组,您正在发送或接收这些对象?数据可以用于以不同于原始形式的方式呈现数据(显然不改变原始类型),本质上它是大量的锅炉板代码。为了在这件事上帮助你,你可以用类似的方法。例如,您可以创建原始对象的接口,并从这些接口生成DTO;类似Resharper的东西将通过鼠标单击来实现它们。最后,AutoMapper将映射这些值,您几乎不需要干预。谢谢Aybe。这是有用的信息。不幸的是,ReSharper不是一个选项,但我将签出automapper@usr,我正在接收这些对象。