Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 139353
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T07:25:10+00:00 2026-05-11T07:25:10+00:00

I have a class (say MyClass ) that uses (has as a private field)

  • 0

I have a class (say MyClass) that uses (has as a private field) a TcpClient object. MyClass implements IDisposable calling TcpClient.Close in the Dispose method.

My question is should MyClass also implement a finalizer to call Dispose(bool Disposing) to free the TcpClient’s unmanaged resources in case MyClass.Dispose is not called by the calling code?

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T07:25:11+00:00Added an answer on May 11, 2026 at 7:25 am

    No you shouldn’t.

    Because you should never call a method on an other object in a finalizer, it could have been finalized before your object.

    The finalizer of your TcpClient will be called by the garbage collector, so let him do.

    The pattern in Dispose is :

    protected virtual void Dispose(bool disposing) {    if (disposing)    {        // dispose managed resources (here your TcpClient)    }     // dispose your unmanaged resources     // handles etc using static interop methods. } 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Let say we have a class MyClass that has and a memberfunc(). An object
Lets say I have an ActionScript class: MyClass and that class has data in
Let's say I have a class that implements the IDisposable interface. Something like this:
Lets say you have a class MyClass that has a constructor public Myclass(SomeObject o)
Let's say I have the following code: class MyClass(object): def __init__(self, param): self.param =
Let's say that I have class , that uses some functionality of dict .
Say I have this class Myclass that contains this method: public class MyClass {
Let's say I have a class that has a MyCustomDatabaseAccess as a data member.
I have a class say within a package com.practise.mypackageone.MyClass Class MyClass has a method
lets say I have a class like this: public class MyClass { private String

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.