gpt4 book ai didi

c# - 将对象数组转换为不同的对象数组

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:11 25 4
gpt4 key购买 nike

我正在从网络服务中提取有关位置的信息。该服务返回一个包含所有对象的 WebObjectsDTOs 数组。对象可以是不同类型,但在本例中,我只请求 MlaLocation 类型的对象。然后我需要按地点名称订购。我遇到的问题是我无法对 searchResult.WebObjectDTOs 执行排序,因为它是基础对象并且无权访问位置名称。

我认为我的解决方案是将 searchResult.WebObjectDTOs 转换为 MlaLocationDTO[] 因为 searchResult 只返回一个 数组MlaLocationDTO。但是我在调​​试中看到的是 mlaLocations 被设置为 null,即使 searchResult.WebObjectDTOs 中有对象。

MlaWebObjectServiceClient svc = new MlaWebObjectServiceClient();
SearchRequest searchRequest = new SearchRequest(){
OperatingCompanyId = Guid.Parse("e4be5383-03d0-4a99-9613-6238dd2396ad"),
WebObjectType = "MlaLocation"
};
SearchResult searchResult = svc.GetMlaWebObjects(searchRequest);
MlaLocationDTO[] mlaLocations = searchResult.WebObjectDTOs as MlaLocationDTO[];
rptLocationsList.DataSource = mlaLocations.OrderBy(m => m.Name);
rptLocationsList.DataBind();

最佳答案

您应该能够将您的数组转换为该类型;

var mlaLocations = searchResult.WebObjectDTOs.Cast<MlaLocationDTO>();

参见 Enumerable.Cast Method

关于c# - 将对象数组转换为不同的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com