我的代码如下: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
----------------------------------------请各位帮帮忙,看看,应该如何改正呢?非常感谢。
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
----------------------------------------请各位帮帮忙,看看,应该如何改正呢?非常感谢。
改为labelUserID.Text += userInfo.userID;
试试
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();
}
}
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();
}
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();//提示这行出错 这里调用的是哪个呢?
是不是调用了红色的那个,如果是,那就会出现问题。
觉得你应该改个比昂两的名字