2012-06-08 4 views
0

하나의 응용 프로그램을 사용하지 않고 데이터를 저장 및 검색하려고하면 리디렉션 할 때 다른 목록에서 즉시 새로 고쳐야한다는 의미입니다. 그러나 저장과 관련하여 문제가 있습니다. 네가 나를 도울 수 있다면 좋을거야. 구조는 괜찮습니까?직렬화 예외

직렬화 예외 유형 'System.Collections.Generic.List`1 [[Med.sMedication, 클럽 메드, 버전 = 1.0.0.0, 문화 = 중립, PublicKeyToken = NULL]]'데이터 계약 이름 'ArrayOfsMedication : HTTP : //schemas.datacontract.org/2004/07/MedReminder_v1 '이 (가) 필요하지 않습니다. KnownTypeAttribute 특성을 사용하거나 DataContractSerializer에 전달 된 알려진 형식 목록에 추가하여 알려진 형식 목록에 정적으로 알지 못하는 형식을 추가합니다.

클래스 파일

public class sMedication 
{ 

    public string Name { get; set; } 
    public string Remarks { get; set; } 
    public string Dosage { get; set; } 
    public string Duration { get; set; } 
    public DateTime StartDate { get; set; } 

    List<string> medicationItem = new List<string> { "", "", "", "", "" }; 

    public void addtoList() 
    { 

    } 

    public object save(object bigobject) 
    { 
     List<Object> Obj = new List<Object>(); 
     Obj.Add(bigobject); 

     var settings = IsolatedStorageSettings.ApplicationSettings; 
     settings.Add("Obj", Obj); 

     settings.Save(); 
     return true; 
    } 


} 

추가 코드

private void Submit_Clicked(object sender, RoutedEventArgs e) 
    { 
     sMedication med = new sMedication(); 
     med.Name = txtName.Text; 
     med.Dosage = txtDosage.Text; 
     med.Duration = txtDuration.Text; 
     med.StartDate = startDate.Value.Value; 

     List<sMedication> medicationItem = new List<sMedication> { new sMedication { Name = med.Name, Dosage = med.Dosage } }; 

     //{ Name, Remarks, Dosage, Duration, Convert.ToString(StartDate) }; 

     med.save(medicationItem); 
     NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
    } 

답변

1

ApplicationSettingsDataContractSerializer를 사용하여 직렬화된다. 이 객체를 사용하여 객체의 직렬화를 테스트 할 수 있습니다. 또는 직접 serialization (및 deserialization)을 처리하고 문자열을 ApplicationSettings에 저장하면됩니다.

코드가 필요 이상으로 복잡합니다. 하나의 sMedication 인스턴스를 저장하려고하지만 List<sMedication> (그 중 하나만 있더라도)을 래핑하고 List<object>에 다시 래핑하고 있습니다 (단 하나의 객체 임에도 불구하고).

+0

내가 제공하는 해결책 중 하나를 수행하는 방법은 무엇입니까? 오, 제가 해보고 있기 때문에 더 많은 데이터를 추가 할 것입니다. 감사합니다 – CodeGuru

+0

http://www.google.com/search?hl=ko&q=how+to+use+datacontractserializer –

관련 문제