이 코드 2013의 Visual Studio에서 .NET 4.5.1 응용 프로그램에서 here 작품 : 그러나왜 형식 인수를 유추 할 수 없으며 명시 적으로이를 지정할 수 있습니까? 대답에서 적응
private void button42_Click(object sender, EventArgs e)
{
List<SiteQuery> sitequeries = GetListOfSiteQueries();
foreach (SiteQuery sitequery in sitequeries)
{
// TODO: Insert into table
}
}
private List<SiteQuery> GetListOfSiteQueries()
{
ArrayList arrList =
FetchSiteQuery("http://localhost:21608/api/sitequery/getall/dbill/ppus/42");
String omnivore = "<SiteQueries>";
foreach (String s in arrList)
{
omnivore += s;
}
omnivore += "</SiteQueries>";
String unwantedPreamble = "<ArrayOfSiteQuery xmlns:i=\"http://www.w3.org/2001/XMLSchema-
instance\" xmlns=\"http://schemas.datacontract.org/2004/07/CStore.DomainModels.HHS\">";
omnivore = omnivore.Replace(unwantedPreamble, String.Empty);
omnivore = omnivore.Replace("</ArrayOfSiteQuery>", String.Empty);
XDocument xmlDoc = XDocument.Parse(omnivore);
List<SiteQuery> sitequeries =
xmlDoc.Descendants("SiteQuery").Select(GetSiteQueryForXMLElement).ToList();
return sitequeries;
}
private static SiteQuery GetSiteQueryForXMLElement(XElement sitequery)
{
return new SiteQuery
{
Id = sitequery.Element("Id").Value,
. . .
, VS에서 .NET 3.5, Compact Framework에서/윈도우 CE 응용 프로그램에서 동일한 코드 2008 년 "컴파일 할 수 없습니다. 'System.Linq.Enumerable.Select (System.Collections.Generic.IEnumerable, System.Func)'메서드의 형식 인수를 사용에서 추론 할 수 없습니다. 명시 적 형식 인수를 지정하십시오."
이 줄에서 오류가 발생합니다.
List<SiteQuery> sitequeries = xmlDoc.Descendants("SiteQuery").Select(GetSiteQueryForXMLElement).ToList();
동일한 코드가 한 경우에만 작동하지만 다른 코드에서는 작동하지 않는 이유는 무엇입니까? 그 이유는 Windows CE의 코드가 까다롭기 때문이거나 .NET 4.5가 4.5.1이 아니기 때문입니까?
이러한 제한 사항 중 하나 또는 둘 모두가 문제이거나 해결 방법이 있습니까? 아니면 "코딩 보드로 돌아 가기"상황입니까?
'YourTypeHere> (GetSiteQueryForXMLElements)를 선택하십시오. –
@EricJ .: 소스 * 및 * 결과 유형을 지정해야합니다. - '선택'에는 두 가지 유형 매개 변수가 있습니다. –
좋은 지적, 답변에 반영된 것을 봅니다. (+1) –