在强类型模型中使用动态对象字段

Using dynamic object fields with a strongly typed model

我目前正在使用 nuget google 地理编码 api,return 是一个具有动态字段的对象 (specifically this one)。根据输入地址,return 对象通常有 return 个不同的字段。有没有一种有效的方式,我可以通过动态字段并将它们与我的模型匹配,而无需 100 if 块?

示例: 输入:纽约,NY

return秒:

或 输入:1600 West Pennsylvania Avenue

return秒:

型号:

        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。

要安装,请打开控制台包管理器,select 要安装包的项目并键入:Install-Package AutoMapper

之后,您可以使用方法 Mapper.DynamicMap 从地理编码映射对象 API。

下面举例说明:

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

如果您对图书馆有任何疑问,请查看 http://automapper.org/

希望对你有所帮助。 ;)