在.net2005下,web程序,写了一个控件,目标是将一个字符串数组设置为控件属性,以便以后使用的时候可以在属性窗口填入需要的值(类似table控件那样的rows属性窗口)。
目前我的属性写法为:        private ArrayList[] OnputFields;
//
        public ArrayList[] OnputFields
        {
           get
           {
               return OnputFields;
           }
           set
           {
               OnputFields= value;
           }
        }
编译能通过,而且在拖拽控件后,在其属性窗口可以产生OnputFields的属性名称,并可以产生类似table控件的rows的属性编辑窗口,允许我向其中添加成员,但是问题如下:
但是运行出错
提示“無法自型別 'System.Collections.ArrayList[]' 之 'Onput' 屬性的字串代表 'ArrayList[] 陣列' 建立其物件。”以前没有写过这样的属性,第一次尝试,不知道怎么弄,我的意思是 让用户 通过向属性中指定要输入的栏位名称和值,再指定输出的栏位名称,通过内部处理从而让控件可以显示指定输出的栏位的值。目前上面的代码就是我尝试设定输出属性的
我也不知道我这样的方法着不着调
大家给帮忙看看

解决方案 »

  1.   

    private ArrayList[] OnputFields;
    public ArrayList[]  OnputFields你自己看看 你这个属性写的对不对···变量名都一样了
    要是能编译通过就怪了
      

  2.   

    ArrayList[]  --〉  ArrayList
      

  3.   

    两处错误
    1. ArrayList 不用在后面加[], 加了后成了一个ArrayList数组,非你所求.2. private变量名 和 属性名相同 ,
    改成
    private ArrayList[] _onputFields;        public ArrayList OnputFields
            {
               get
               {
                   return onputFields;
               }
               set
               {
                   onputFields= value;
               }
            }
      

  4.   

    private ArrayList _OnputFields;
    public ArrayList  OnputFields{};
      
      

  5.   

    不好意思 心急 copy错了rivate ArrayList[] OnputFields;        public ArrayList[] Onput
            {
               get
               {
                   return OnputFields;
               }
               set
               {
                   OnputFields = value;
               }
            }再看下
      

  6.   

    完蛋了,又少一个字母
    private ArrayList[] OnputFields;
      

  7.   

    ArrayList 本来就是集合类型的