(К вашему сведению: этот вопрос наполовину теоретический. Это не то, что я определенно планирую сделать.)
Я бы хотел сохранить ссылку на все объекты, которые я создаю. Может быть так:
class Foo
{
private static List<Foo> AllMyFoos = new List<Foo>();
public Foo()
{
AllMyFoos.Add(this);
}
}
Проблема в том, что теперь ни один из моих Foos не может выпасть из фокуса и быть собранным мусором. Есть ли способ сохранить референцию, не мешая сборщику мусора?
В идеале я просто из списка ФУ, которые все еще используются, а не всех ФУ, которые когда-либо использовались.