【发布时间】:2014-08-28 17:54:00
【问题描述】:
我有一个名为 Foo 的类,它有一个内部类 Inner。内部类引用了外部类的字段。
public class Foo
{
int foo = 2;
public class Inner
{
Foo f;
public Inner(Foo f)
{
f=f;
}
public override String ToString()
{
return "Inner[foo="+f.foo+"]" ;
}
}
}
这是我的程序。
public class Program
{
public static void Main(string[] args)
{
Foo foo=new Foo();
Foo.Inner inner=new Foo.Inner(foo);
Console.WriteLine(inner.ToString());
}
}
编译没有问题,但是运行失败。 它给了我一个例外
未处理的异常:System.NullReferenceException:对象引用 未设置为对象的实例。在 Foo.Inner.ToString()
这是怎么回事?
【问题讨论】:
-
为什么要创建嵌套类?为什么不能是
Foo中具有Inner类型的只读属性的两个独立类?
标签: c#