List<T> speichern

xbu58

Mitglied
Hallo

Ich verwende innerhalb einer Kompnente (vom Type System.ComponentModel.Component) eine Liste um Element innerhalb der Komponente abzulegen. Die Elemente bestehen aus einer Klasse, welche ich mit [Serializable] definiert habe:
C#:
  public class Dialogs : System.ComponentModel.Component
  {
     ....
    internal List<DialogDataClass> dialogData = new List<DialogDataClass>();

    ....

    public List<DialogDataClass> DialogData
    {
      get { return dialogData; }
      set { dialogData = value; }
    }
  }

  [Serializable]
  public class DialogDataClass
  {
    internal string name = "";
    internal string title = "";
    internal string text = "";

    .....

    [Category("Design")]
    [Description("Name der Dialog-Box")]
    [DisplayName("(Name)")]
    public string Name
    {
      get { return name; }
      set { name = value; }
    }
    
    [Category("Data")]
    [Description("Titel der Dialog-Box")]
    public string Title
    {
      get { return title; }
      set { title = value; }
    }

    [Category("Data")]
    [Description("Text der Dialog-Box")] 
    public string Text
    {
      get { return text; }
      set { text = value; }
    }
     ....
  }

Soweit funktioniert alles sauber. Ich kann in Eigenschafts-Editor von VS problemlos neue Elemente in die Dialogs-Instanz einfügen, löschen oder ändern.

Das Problem liegt darin, dass diese Elemente beim Speichern im VS in eine Resource-Datei Form1.resx und nicht in die Form1.Designer.cs abgelegt werden. Das wäre an und für sich noch nicht so tragisch. Das Hauptproblem ist jedoch, dass die Daten binär abgelegt werden.
C#:
  <data name="dialogs1.DialogData" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAEBNc2dCb3hMaWIsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1u
        ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsBAEAAACBAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmlj
      .....
    </value>
  </data>
Da ich für die Sprachübersetzung auf diese Daten zugreifen muss, ist das nicht brauchbar. Wie muss ich die Deklaration machen, dass diese Liste nicht als Bin, sondern als lesbarer text gespeichert wird?

Danke und Gruss
Xaver
 
Zuletzt bearbeitet von einem Moderator:
Hallo Online-Skater

Ich werde die Lösung hier sicher veröffentlichen, wenn ich sicher bin, dass alles so funktioniert wie ich glaube, dass sollte es. Habe mich erst in die Problematik eingelesen, denke aber dass funktioniert. Ich will aber hier nichts hineinsetzen, was noch nicht Fertig durchdacht ist.

Gruss
Xaver
 
Zuletzt bearbeitet:
Zurück