Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Свой компонент. Свойство в виде списка


Автор: Schumi 2.9.2010, 14:09
 Создал свой компонент.
Для него задал свойство. Для редактирования свойства создал свой UITypeEditor.
Кинул на форму этот компонент. И пытаюсь редактировать в дизайне его. Редактируется нормально, вроде запоминает.
Но как только сохраняю приложение и запускаюсь или закрываю/открываю солюшен, отвал - форма не может загрузиться.
Код

Object of type 'Common.Components.HelpChm.myclass[]' cannot be converted to type 'Common.Components.HelpChm.myclass[]'.


Исходный класс:
Код

[Serializable]    
    public class myclass
    {
        private string name;
        private int id;
 
        [DisplayName("name")]
        [Description("name")]
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
 
 
        [DisplayName("id")]
        [Description("id")]
        public int Id
        {
            get { return id; }
            set { id = value; }
        }
 
        public myclass()
        {
            name = "";
            id = 0;
        }
 
        public myclass(string name, int id)
        {
            this.name = name;
            this.id = id;
        }
    }




Компонент:
Код

      public partial class myComponent : Component
      {
      protected List<myclass> _indexer = null;
       
      [Description("indexer")]
      Editor(typeof(Editor.IndexerTypeEditor), typeof(UITypeEditor))]
      public List<myclass> Indexer
              {
                  get { return _indexer; }
                  set { _indexer = value; }
              }  
      }


Хотя вижу, что в ресурсе формы сохраняет вроде как список, но загрузить она его не может.
То есть судя по всему, плохо ему здесь:
Код

this.mycomp.Indexer = ((System.Collections.Generic.List<Common.Components.myComponent.myclass>)(resources.GetObject("mycomp.Indexer")));

Автор: Schumi 2.9.2010, 15:29
передал List просто в массив [].

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)