Guten Morgen liebe Community,
=============================
LÖSUNG:
Die Property nicht vom Typ
=============================
ich bin soeben auf ein Problem gestoßen, dessen Ursache ich mir noch nicht so ganz erklären kann.
Mein Vorhaben war, Eine Liste (von einer eigenen Klasse) als Property bereit zu stellen.
Hier die eigene Klasse:
Diese Klasse StatusItem wird nun in einer anderen Klasse verwendet, um eine Property vom Typ List<StatusItem> bereitzustellen:
Wenn man jetzt im Designer der Eigenschaft Items neue Einträge (Items) hinzufügt und das Projekt anschließend kompiliert, gibt es den als Bild angehangenen Fehler.
Der Base64-String in der Resx-Datei sieht entschlüsselt so aus:
Also imo nicht ganz Unsinn...
Mache ich da etwas falsch?
=============================
LÖSUNG:
Die Property nicht vom Typ
List<OwnClass>
deklarieren, sondern eine neue Klasse OwnClassCollection:Collection<OwnClass>
anlegen und die Property vom Typ OwnClassCollection
anlegen =============================
ich bin soeben auf ein Problem gestoßen, dessen Ursache ich mir noch nicht so ganz erklären kann.
Mein Vorhaben war, Eine Liste (von einer eigenen Klasse) als Property bereit zu stellen.
Hier die eigene Klasse:
Diese Klasse StatusItem wird nun in einer anderen Klasse verwendet, um eine Property vom Typ List<StatusItem> bereitzustellen:
C#-Quellcode
- using System.Collections.Generic;
- using System.Windows.Forms;
- using System.ComponentModel;
- using System.Drawing;
- namespace Control_Sandbox.Ui.Controls
- {
- public class Status : Control
- {
- public Status() { items = new List<StatusItem>(); }
- private List<StatusItem> items;
- [DesignerSerializationVisibility( DesignerSerializationVisibility.Content )]
- public List<StatusItem> Items
- {
- get { return items; }
- set
- {
- items = value;
- // some more code here
- }
- }
- protected override void OnPaint(PaintEventArgs e)
- {
- base.OnPaint( e );
- e.Graphics.DrawRectangle( new System.Drawing.Pen( new SolidBrush( Color.Black ) ), 0, 0, Width - 1, Height - 1 );
- }
- }
- }
Wenn man jetzt im Designer der Eigenschaft Items neue Einträge (Items) hinzufügt und das Projekt anschließend kompiliert, gibt es den als Bild angehangenen Fehler.
Der Base64-String in der Resx-Datei sieht entschlüsselt so aus:
Quellcode
- FControl Sandbox, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullQSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&Control_Sandbox.Ui.Controls.StatusItem<ActiveColor>k__BackingField<InactiveColor>k__BackingField<Active>k__BackingFieldSystem.Drawing.ColorSystem.Drawing.ColorSystem.Drawing.Colornamevalue
- knownColorstate
- O
Also imo nicht ganz Unsinn...
Mache ich da etwas falsch?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „TRiViUM“ ()