Windows Phone 8.1에서 onNavigate 메서드를 사용하고 내가 만든 탐색 개체 목록을 전달하려고합니다. 시도하고 e.parameters (작동하는 것)에서 목록을 검색 할 때 목록을 반복하여 원래 개체 유형으로 다시 캐스트 할 수 없습니다. 하나의 객체 만 보내고 목록은 보내지 않으면 작동합니다.Windows 전화 문제 해결 8.1 컴파일 오류 : GetENumerator
예를 들면.
mainpage의 button_click 이벤트에서 아래 코드를 호출하여 page2로 이동하고 객체 목록을 전달합니다.
다음과 같이 정의 된 클래스가 있습니다. 그때 그때
List<NavigationContext> navlist = new List<NavigationContext>(){navobj,navobj2,navobj3};
I 아래와 같은 목록을 만들
NavigationContext navobj = new NavigationContext(){ID = 77,Name = "DN", Description = "TD1"};
NavigationContext navobj2 = new NavigationContext(){ID = 22,Name = "JN",Description = "JD1"};
NavigationContext navobj3 = new NavigationContext(){ID = 22,Name = "CN",Description = "CN1"};
을 다음과 같이 테스트를 위해
class NavigationContext
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
나는 3 개체를 만들고 목록에 추가 아래 전화 걸기
Frame.Navigate(typeof(Page2), navlist);
나는 하나의 코드가 작동하는 객체와 컴파일을 전달하고 새 페이지가 너무 성공적으로 탐색하는 경우 * ** 나는 목록을 전달하면 나는 OnNavigatedTo 방법에서 foreach는 반복자에 다음과 같은 오류가 위와 같이
**
string myfiller = "";
foreach (NavigationContext navobj in e.Parameter)
{
myfiller += navobj.ID.ToString() + " " + navobj.Name + " " + navobj.Description+ "\n";
}
나는 다음과 같은 오류 얻을 * 아래 예제 코드 : 'OBJE foreach 문이 형 때문에'개체 '의 변수에 작동 할 수 없습니다에게 ct '는 GetENumerator에 대한 공용 정의를 포함하지 않습니다.
나는 목록을 NavigationContext 개체로 다시 캐스팅하는 방법을 찾으려고 노력했지만 작동하지 못하게하기 때문에 무언가를하고 있다고 생각합니다.
제안 사항?
당신의 문제는 바로 오류 메시지입니다 :'e.Parameter'는'object'이지만 그것을 반복하고 싶으므로 반복하는 것에 던지십시오. –
정확한 오류 메시지에 대해 Google 검색을 수행하면 'object'에 GetENumerator에 대한 공용 정의가 없으므로 'object'유형의 변수에서 작동 할 수 없습니다. '(https://www.google.com/webhp?sourceid = chrome-instant & ion = 1 & espv = 2 & ie = UTF-8 # q = C % 23 % 20cannot % 20 operate % 20on % 20variables % 20of % 20type % 20 % 27 개체 % 27 % 20 % 20 % 27 개체 % 27 % 20 % 20 % 20contain % 20a % 20public % 20definition % 20for % 20GetENumerator) 더 많은 노력을 보여주고 오류 메시지에 대한 검색을 수행하여 정확히 무엇이 잘못되었는지 알려줍니다. – MethodMan