繁体   English   中英

将动态对象字段与强类型模型一起使用

[英]Using dynamic object fields with a strongly typed model

我目前正在使用nuget google地理编码api,该api返回具有动态字段的对象( 特别是此对象)。 根据输入地址,返回对象通常返回不同的字段。 有没有一种有效的方式,我可以遍历动态字段并将其与我的模型匹配,而无需100个if块?

示例:输入:纽约州纽约市

收益: 在此处输入图片说明

或输入:1600 West Pennsylvania Avenue

收益: 在此处输入图片说明

模型:

        public string streetnumber { get; set; }
        public string route { get; set; }
        public string city { get; set; }
        public string postalcode { get; set; }
        public string state { get; set; }
        public string country { get; set; }

您可以安装Nuget Gallery中提供的软件包AutoMapper。

要安装,请打开控制台软件包管理器,选择要安装软件包的项目,然后键入:Install-Package AutoMapper

之后,您可以使用Mapper.DynamicMap方法来映射来自Geocoding API的对象。

下面以一个例子来说明:

var order = new {CustomerName = "Bob Smith"};
var message = Mapper.DynamicMap<ICreateOrderMessage>(order);
message.CustomerName.ShouldEqual("Bob Smith");

如果您对该库有任何疑问,请访问http://automapper.org/

希望对您有帮助。 ;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM