C Sharp - ListBox – więcej zmiennych w itemie

    class MyListBoxItemValue
    {
        protected string ctext;
        protected int cvalue = 0;
        protected string caddon;
        protected int cvalueaddon = 0;

        public MyListBoxItemValue(string ItemText, int ItemValue)
        {
            ctext = ItemText;
            cvalue = ItemValue;
        }

        public MyListBoxItemValue(string ItemText, int ItemValue, string ItemTextAddon)
        {
            ctext = ItemText;
            cvalue = ItemValue;
            caddon = ItemTextAddon;
        }

        public MyListBoxItemValue(string ItemText, int ItemValue, int ItemIntAddon)
        {
            ctext = ItemText;
            cvalue = ItemValue;
            cvalueaddon = ItemIntAddon;
        }

        public int ItemData
        {
            get
            {
                return cvalue;
            }
            set
            {
                cvalue = value;
            }
        }

        public string ItemDataAddon
        {
            get
            {
                return caddon;
            }
            set
            {
                caddon = value;
            }
        }

        public int ItemDataAddonInt
        {
            get
            {
                return cvalueaddon;
            }
            set
            {
                cvalueaddon = value;
            }
        }

        public override string ToString()
        {
            return ctext;
        }
    }