Глядя на реализации TcpClient.GetStream
и TcpClient.Dispose
в ILSpy, я согласен, что у вас не должно быть утечки ресурсов, если вы вызываете Dispose()
в потоке, но не на клиенте.
Однако я не уверен, что это хорошая идея.
Я бы спросил, почему вы не хотите звонить Dispose()
в случае TcpClient
. Контракт, подразумеваемый тем фактом, что TcpClient
реализует IDisposable
, заключается в том, что Dispose()
следует вызывать, когда экземпляр больше не требуется.
Если вы нарушите этот контракт:
- Это будет сбивать с толку будущих разработчиков вашего кода?
- Что, если реализация
TcpClient
изменится в будущих версиях?