То, что является явным - оно просто не сохраняется в переменной (действительно, объект никогда не имеет "имени" - только локальные переменные / поля имеют имена). Если вам не нужен объект более одного раза, и это не делает ядро более сложным, то в этом нет реального недостатка. Обратите внимание, что если объект IDisposable
или похожий, вам понадобится локальный, то есть
using(var manager = new RegistryManager()) {
_ProfileList = manager.GetAllProfiles();
}
но кроме этого, это не волнует. В самом деле, если вы делаете присваивание локальному и сразу используете его, я ожидаю, что любая сборка "release" полностью удалит переменную в любом случае , то есть после компиляции (в выпуске)
var manager = new RegistryManager();
_ProfileList = manager .GetAllProfiles();
и
_ProfileList = (new RegistryManager()).GetAllProfiles();
идентичны (мое ожидание).