0

あるアプリケーションを使用せずにデータを保存および取得しようとしています。つまり、リダイレクトすると他のリストで即座に更新する必要がありますが、保存に関する問題に直面しています。あなたが私を助けてくれたらいいのに。構造は大丈夫ですか?

データ コントラクト名が '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));
    }
4

1 に答える 1

1

ApplicationSettingsを使用してシリアル化されDataContractSerializerます。これを使用して、オブジェクトのシリアル化をテストできます。または、シリアル化(および逆シリアル化)を自分で処理して、stringeをに格納することもできますApplicationSettings

また、コードは必要以上に複雑です。単一のインスタンスを保存しようとしていますが、それを(sMedicationインスタンスがList<sMedication>1つしかない場合でも)でラップしてから、List<object>オブジェクトが1つしかない場合でも、もう一度ラップします。

于 2012-06-08T12:19:32.933 に答える