Я собираюсь предположить, что это общий вопрос о возвращении объектов, которые реализуют IDisposable
, а не вопрос о func1
и func2
.
Использование блока using
вокруг чего-либореализации IDisposable
, если вы
- создаете его и
- больше не нужны, когда ваш метод возвращает
В вашем случае вы создаете егоно он должен существовать после возврата вашего метода.В этом случае не используйте блок using в методе, который создает объект.После этого вызывающая сторона несет ответственность за удаление объекта, что, как я вижу, уже выполняется.