List<string> als Property?



  • Moin!

    Hat jemand ne Idee wie die korrekte Syntax für Properties mit Index lautet?
    Ich komm hier mit einer string-List nicht weiter:

    public List<string> Items
    {
        get
        {
            return m_Items;
        }
    
        set
        {
            m_Items = value;
        }
    }
    

    Im Konstruktor der Klasse, wird m_Items erzeugt:

    public class Testo
    {
        public Testo()
        {
            m_Items = new List<string>();
        }
    
        ...
    }
    

    ... das wird zwar so alles vom Debugger akzeptiert, aber wenn ich versuche strings hinzuzufügen kommt der Fehler "konstruktur für typ system.string nicht gefunden". 😕



  • Also bei mir geht's:

    class Program
    {
        static void Main(string[] args)
        {
            Testo testo = new Testo();
    
            testo.Items.Add("Hallo");
        }
    }
    
    class Testo
    {
        List<string> m_Items;
    
        public List<string> Items
        {
            get { return m_Items; }
            set { m_Items = value; }
        }
    
        public Testo()
        {
            m_Items = new List<string>();
    
            m_Items.Add("Hallo");
        }
    }
    


  • Hmm, probier das mal in einer Windows Form. Die Klasse muss ein Control sein und die Items fügst du über die Eigenschafts-Seite des Controls hinzu



  • So ggf:

    [Editor( "System.Windows.Forms.Design.StringCollectionEditor, System.Design, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089", typeof( UITypeEditor ) )]
    public List<string> Items
    {
      get { return mList; }
      set { mList = value; }
    }
    

Anmelden zum Antworten