c#类的简单问题

weiwei309 2003-09-14 04:25:30
简化后的代码如下:
using System;
class a
{
private int aa;
public void aaa()
{}
}
class b
{
a ba;
public void bbb()
{
ba.aaa (); //在这里出错了
}
}
namespace ConsoleApplication3
{

class Class1
{
[STAThread]
static void Main(string[] args)
{
b test=new b ();
test.bbb ();

}
}
}
编译可以通过
在运行的时候出错
错误信息为:
-------------------------------------------------------
未处理的"System.NullReferenceException"类型的异常出现在ConsoleApplication3.exe中
其他信息:未将对象引用设置到对象的实例
-------------------------------------------------------
出错地方在程序中已经有标志
请问是什么错误
如何解决?
谢谢各位大哥大姐了
...全文
36 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyee 2003-09-14
  • 打赏
  • 举报
回复
ba.aaa (); ===> a.aaa();

最好是第一种写法, 实例化a类
weiwei309 2003-09-14
  • 打赏
  • 举报
回复
如果按照上面两位的方法改动
编译通不过,出错信息见程序!
using System;
class a
{
private int aa;
public static void aaa()
{}
}
class b
{
private a ba;
public void bbb()
{
ba.aaa (); //(1) b.ba表示字段,此处应为类.(2)无法使用实例引
//用访问静态成员"a.aaa()";改用类型名来限定它
}
}
namespace ConsoleApplication3
{

class Class1
{
[STAThread]
static void Main(string[] args)
{
b test=new b ();
test.bbb ();

}
}
}
Philip3 2003-09-14
  • 打赏
  • 举报
回复
public void static aaa() {}
panyee 2003-09-14
  • 打赏
  • 举报
回复
或把class a里的aaa改成静态函数

public void static aaa() {}
panyee 2003-09-14
  • 打赏
  • 举报
回复
ba = new a();//加上这一行
ba.aaa ();
weiwei309 2003-09-14
  • 打赏
  • 举报
回复
自己顶一下

110,533

社区成员

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

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

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