在强类型模型中使用动态对象字段
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/
希望对你有所帮助。 ;)
我目前正在使用 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/
希望对你有所帮助。 ;)