请问我的一个自定义控件有一个公共属性,其返回值是一个类。我将其拖动到我程序的设计面板上,每当保存此类时IDE的“任务列表”窗口就出现一个警告,提示这个属性没有将对象引用设置到实例,请问应怎样解决。但是编译时能通过。
另外就是在属性窗口中,这个属性有一个"…"按钮,单击时也会弹出一个提示窗口
其信息为:
System.Reflection.TargetInvocationException:对象"uWD"上的属性访问器"WD"发生以下异常:“未将对象引用设置到对象的实例。"------>以后的省略.
这个问题虽然不影响程序的运行,但IDE老出现这种提示很影响人的心情。

解决方案 »

  1.   

    自定义控件,从UserControl类继承的,拖动到窗体上就可以用,这些代码是自动生成的。
      

  2.   

    声明时把它=null
    是不行的,没有任何任务。
    因为此控件在窗体构造时初始化
      

  3.   

    在属性前面加[DefaultValue(...)]属性,或者不让这个属性出现在IDE里,在前面加
    [Browseable(false)]
      

  4.   

    [DefaultValueAttribute(null),
    Browsable(false)]//你上面多了一个e费了我好几分钟时间
    public CWD WD
    {
    set
    {
    if (value != null)
    {
    this.tbxBT.Text = value.strBT;
    this.tbxFWBH.Text = value.strFWBH;
    }
    }
    get
    {
    CWD wd = new CWD();
    wd.strBT = this.tbxBT.Text.Trim();
    wd.strFWBH = this.tbxFWBH.Text.Trim();
    return wd;
    }
    }解决吧,解决了再加50分。
    问题依旧,只是加Browsable(false)属性信息,属性窗口中不会出现…了
      

  5.   

    将CWD wd = new CWD();代码放到你这个类构造的时候去实例化就可以,你这上边出的提示就是说在你设置的时候CWD类未被实例化