我的代码如下:public UserInfo userInfo;   //UserInfo是我自己定义的结构类型
public delegate void ShowUserInfoDelegate(UserInfo userInfo);private void ShowUserInfo(UserInfo userInfo)
{
labelUserID.Text += userInfo.userID.ToString();//提示这行出错
labelUserAlias.Text += userInfo.userAlias;
labelUserRole.Text += userInfo.userRole.ToString();
labelUserMoney.Text += userInfo.userMoney.ToString();
}this.BeginInvoke( new ShowUserInfoDelegate(this.ShowUserInfo), new object[] {userInfo});出错信息:
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参阅此消息的结尾。************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
   at FormMain.ShowUserInfo(UserInfo userInfo) in d:\Projects\myProject\formmain.cs:line 403
************** 已加载的程序集 **************
mscorlib
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.2407
    基本代码: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------请各位帮帮忙,看看,应该如何改正呢?非常感谢。

解决方案 »

  1.   

    labelUserID.Text += userInfo.userID.ToString();
    改为labelUserID.Text += userInfo.userID;
    试试
      

  2.   

    //数据为空了喃
    private void ShowUserInfo(UserInfo userInfo) 

        if(userInfo!=null)
        {
            labelUserID.Text += userInfo.userID.ToString();//提示这行出错 
             labelUserAlias.Text += userInfo.userAlias; 
            labelUserRole.Text += userInfo.userRole.ToString(); 
            labelUserMoney.Text += userInfo.userMoney.ToString(); 
        }
      

  3.   

    userInfo还没有实例化呢
    private void ShowUserInfo(UserInfo userInfo)
    {
    if(userInfo == null)
        userInfo = new UserInfo();
    labelUserID.Text += userInfo.userID.ToString();//提示这行出错
    labelUserAlias.Text += userInfo.userAlias;
    labelUserRole.Text += userInfo.userRole.ToString();
    labelUserMoney.Text += userInfo.userMoney.ToString();
      

  4.   

    public UserInfo userInfo;  //UserInfo是我自己定义的结构类型 
    public delegate void ShowUserInfoDelegate(UserInfo userInfo); private void ShowUserInfo(UserInfo userInfo

    labelUserID.Text += userInfo.userID.ToString();//提示这行出错 
    labelUserAlias.Text += userInfo.userAlias; 
    labelUserRole.Text += userInfo.userRole.ToString(); 
    labelUserMoney.Text += userInfo.userMoney.ToString(); 

    你上面有两个userInfo,不知道你可看出来了。那么我想问下你在
    labelUserID.Text += userInfo.userID.ToString();//提示这行出错 这里调用的是哪个呢?
    是不是调用了红色的那个,如果是,那就会出现问题。
    觉得你应该改个比昂两的名字
      

  5.   

    private void ShowUserInfo(UserInfo userInfo) 这个userInfo换个名就好了吧
      

  6.   

    你单步跟下~~ userInfo 确定不为空把
      

  7.   

    this.BeginInvoke( new ShowUserInfoDelegate(this.ShowUserInfo), new object[] {userInfo}); 这里的userInfo是否为null??
      

  8.   

    看看哪个对象没有new就使用了。