异常"未将对象引用设置到对象的实例",怎么办?

junes8250 2004-03-15 10:24:13
有个函数如下:
private string GetUrlFromReg()
{
StringBuilder sb=new StringBuilder("tcp://");
try
{
RegistryKey regRead=Registry.LocalMachine.OpenSubKey ("Software\\RemoteListClient",true);
Object obj=regRead.GetValue("serverip");
sb.Append(obj.ToString());
obj=regRead.GetValue("channel");
sb.Append(":"+obj.ToString()+"/RemoteServices");
regRead.Close();
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
return sb.ToString();
}
当我在Main()函数里调用它时,却抛出"未将对象引用设置到对象的实例"错误,
应该怎么办?
...全文
245 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackile 2004-03-15
  • 打赏
  • 举报
回复
把Main函数体贴一下,我帮你看!


估计是变量无初始化值,或者引用类时没有实例化!
istring 2004-03-15
  • 打赏
  • 举报
回复
sb.Append(obj.ToString());=====>>>>>sb.Append(obj);
chenghaofeng 2004-03-15
  • 打赏
  • 举报
回复
不能这样调用共有成员;
应该是:Class1 tmp = new Class1();
string str = tmp.GetUrlFromReg();
junes8250 2004-03-15
  • 打赏
  • 举报
回复
rt:
using System;
using Microsoft.Win32;
using System.Text;

namespace ConsoleApplication
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
string str=new Class1().GetUrlFromReg();
Console.WriteLine(str);
Console.ReadLine();
}

public string GetUrlFromReg()
{
StringBuilder sb=new StringBuilder("tcp://");

try
{
RegistryKey regRead=Registry.LocalMachine.OpenSubKey("Software\\RemoteListClient",true);
Object obj=regRead.GetValue("serverip");
sb.Append(obj.ToString());
obj=regRead.GetValue("channel");
sb.Append(":"+obj.ToString()+"/RemoteServices");
regRead.Close();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}

return sb.ToString();
}
}
}

110,536

社区成员

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

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

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