我有以下代码但是当我向payLoad.Files添加更多文件时,它不会给我任何异常,也不会将文件添加到有效负载。
任何人都可以帮助我
string xmlTestPayload = XDocument.Load(Path.Combine(HttpRuntime.AppDomainAppPath, @"Services\STestPayload.xml")).ToString();
XmlSerializer serializer = new XmlSerializer(typeof(STestPayload));
STestPayload payLoad = null;
using (var reader = new StringReader(xmlTestPayload))
{
payLoad = (STestPayload)serializer.Deserialize(reader);
}
if (payLoad != null)
{
TestFile[] files = GetDocumentList(DocumentList);
if (files != null && files.Count() > 0)
{
//not working
payLoad.Files.ToList().AddRange(files);
}
}
由于
答案 0 :(得分:2)
您正在创建新列表但不存储返回值,请尝试以下方法:
var myList = payLoad.Files.ToList();
myList.AddRange(files);
答案 1 :(得分:0)
您需要将IList更改为List才能使用AddRange。当你使用IList时,它不支持AddRange,因此我们使用.ToList(),其中创建了临时列表,其他列表中的元素被添加到那个未知(我们不知道它的位置,因为它是临时),那是为什么我们看不到列表永远不会增加值。