Objekte addieren/zusammenfügen

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Wolf066.

    Objekte addieren/zusammenfügen

    Hi,

    Gibt es eine Möglichkeit einfach zwei Objekte zusammen zu fügen? Also Ich habe z.B. 2 Objekte der Klasse Einstellugnen:

    C#-Quellcode

    1. public class Einstellungen
    2. {
    3. private static string EinstellungenPfad = Application.StartupPath;
    4. public Einstellungen() { }
    5. /// <summary>
    6. /// Speicher die Einstellungen
    7. /// </summary>
    8. public void save()
    9. {
    10. string pfad = EinstellungenPfad + "\\Settings";
    11. FileStream FS = new FileStream(pfad, FileMode.Create);
    12. BinaryFormatter BF = new BinaryFormatter();
    13. BF.Serialize(FS, this);
    14. FS.Dispose();
    15. }
    16. /// <summary>
    17. /// Lädt Einstellungen
    18. /// </summary>
    19. public Einstellungen load() {
    20. Einstellungen e = new Einstellungen();
    21. string pfad = EinstellungenPfad + "\\Settings";
    22. FileStream FS = new FileStream(pfad, FileMode.Open);
    23. BinaryFormatter BF = new BinaryFormatter();
    24. e = (Einstellungen)BF.Deserialize(FS);
    25. FS.Dispose();
    26. return e;
    27. }
    28. #region Einstellungen
    29. #region Allgemein
    30. public Keys AufnahmeStartKey;
    31. public Keys AufnahmeStopKey;
    32. public bool ShowÜFenster;
    33. public bool ShowÜFensterTimer;
    34. public bool ShowIErinerrung;
    35. public string Erinerrungen;
    36. #endregion
    37. #region Marker
    38. public string MarkerSpeicherort;
    39. public int MarkerFormat;
    40. public bool MarkerKeyStrg;
    41. public bool MarkerKeyShift;
    42. public bool MarkerKeyAlt;
    43. public Keys MarkerKey;
    44. #endregion
    45. #region Programme
    46. public List<string> Programme;
    47. #endregion
    48. #region Timer
    49. List<TimerProfil> TimerProfiles;
    50. #endregion
    51. #region Überwachung
    52. public string ÜberwachungOrdner;
    53. public bool ÜShowSpeicherort;
    54. public bool ÜShowCPU;
    55. public bool ÜShowGPU;
    56. #endregion
    57. #endregion
    58. }​



    Und in einem stehen Parameter, die auf das andere übertragen werden sollen. Also z.B. ist in Objekt 1 MarkerFormat = txt und in Objekt 2 sind alle Properties = null außer MarkerFormat welches dann z.B. = wav ist und dann will ich nur die Werte auf Objekt 1 übertragen die einen Wert haben. In diesem Fall also MarkerFormat. Somit wird in Objekt 1 nur MarkerFormat mit dem Wert von Objekt 2 überschrieben.


    Ist das irgendwie einfach möglich?

    Danke schon mal

    LG Wolf
    @Wolf066 Deine Beschreibung ist sehr nebulös.
    Mach ein Beispiel, wie die einzelnen Objekte aussehen und wie das zusammengesetzte Objekt aussehen könnte.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Operator Überladung wär eine Möglichkeit, aber ist mMn hier fehl am Platz, dafür muss eher eine Methode her(z.B. Combine oder so)

    Überprüfen was null ist etc. musst du dabei selbst machen. Außerdem musst du bools/ints und ähnliches als Nullable machen, damit du diese überhaupt auf null setzen kannst.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---