GetObj(){
                  
                  
                  using var myobj = CreateObj()
                  
                  
                  return myobj()
                  
                  
                  }
                  
                  
                  почему его диспоузит если объект используется далее?
                  
                  
                  разве так должно происходить?
                  
                  
                  Или из-за того, что он покидает область видимости функции его диспоузит и плевать использовался ли он ранее?
                  
                  
                
using разворачивается в try-finally, так что диспоузится после выхода из блока
логично, спасибо я ожидал что у using var и using () {} разное поведение наверное зря
Лучше так не писать
ну я вынес наверх void dosmth(){ using var obj = GetObje(); obj.Dosmth(); \\ error } obj GetObj(){ var myobj = CreateObj() return myobj() }
Тогда должно быть норм
ну и стало норм) но багу искал прям долго было не очевидно
Обсуждают сегодня