Да, то, что вы делаете в этом примере, прекрасно.
object1
переменная - это просто ссылка на объект типа Foo
. После первого назначения new
он относится к одному конкретному экземпляру Foo
; после второго присваивания new
это относится к совершенно другому экземпляру (и исходный экземпляр становится пригодным для сбора мусора, предполагая, что на него больше ничего не ссылается).
И да, если Foo
орудий IDisposable
, то вы должны утилизировать его, предпочтительно с использованием using
блока, хотя мое личное предпочтение использовать отдельные using
переменные для каждого блока:
using (Foo first = new Foo())
{
// do something
}
using (Foo second = new Foo())
{
// do something else
}
Я надеюсь, что вы заметили в что ОП просто не понял синтаксис C#? Не делай того, что он сделал. –