我有一個名爲Foo的類,它有一個內部類Inner。 Inner類引用外部類的字段。C#調用內部類的方法引用外部類
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'類的只讀屬性? –
http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it –