C#报“未处理NullReferenceException”

tf2631 2011-06-26 12:31:02
在运行到这行代码时,报“未处理NullReferenceException”,未将对象引用设置到对象实例

this.Cursor = new Cursor(GetType(), "Cross.Cur");

cross.cur已导入资中
这是怎么回事呀,要怎样解决?
万分感谢!
...全文
241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tf2631 2011-06-26
  • 打赏
  • 举报
回复
如二楼所说,应该是GetType()返回了NULL ,那应该怎样加判断呢?
新手勿笑
暖枫无敌 2011-06-26
  • 打赏
  • 举报
回复

[DllImport("user32.dll")]
static extern int LoadCursorFromFile(string lpFileName);

Cursor myCursor = new Cursor(Cursor.Current.Handle);

//加载光标文件:
IntPtr colorCursorHandle = LoadCursorFromFile("Cross.cur");

myCursor.GetType().InvokeMember("handle", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetField, null, myCursor, new Object() { colorCursorHandle });

this.Cursor = myCursor;
老鼠爱上猫 2011-06-26
  • 打赏
  • 举报
回复
这个错误,说明你定义的对象有没有实例化或赋值的 导致他未NULL 了,而你由没有对 你定义的对象进行
NULL 判断

this.Cursor = new Cursor(GetType(), "Cross .Cur");
例如这句吧

如果GetType() 返回NULL 你这个Cursor能实例化成功吗

不过你的问题很如果只是这句话有问题的话

很可能是 new Cursor出现错误导致的,
你好好查查 这个对象 方法里 哪有,对象为NULL 了,没做处理
风骑士之怒 2011-06-26
  • 打赏
  • 举报
回复
GetType() 得对实例对象使用吧

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧