【发布时间】:2011-09-02 14:25:21
【问题描述】:
我有以下具有以下方法的类:
public class Foo
{
public string A {get;set;}
public static Foo New(string a)
{
Foo newFoo = new Foo();
newFoo.A = a;
return newFoo;
}
}
public class Bar
{
public void SomeMethod()
{
...
Foo anotherFoo = Foo.New("a");
....
}
}
如果 Bar 类在使用上述代码的过程中创建 Foo,Foo 是否会超出范围并被垃圾收集,或者 Foo(因为它使用静态方法)会继续引用变量 newFoo 并因此引用另一个Foo永远不会超出范围?
【问题讨论】: