title: Is it possible to clear objects with the get property after calling the class?
body: <p>this below to sample code;</p>
  
  <pre><code>    private ExampleStatus _status;
  
      public ExampleStatus status
      {
          get
          {
              if (_status == null) _status = new ExampleStatus();
  
              //if (_status.receivedData) _status.receivedData = false; //this line is incorrect !
  
              return _status;
          }
      }
      public class ExampleStatus
      {
          public int Id { get; set; }
          public string Name { get; set; }
          public bool receivedData { get; set; }
  
          //I don't want to use this method
          public void Clear()
          {
              Id = 0;
              Name = string.Empty;
              receivedData = false;
          }
      }
  
  
      int stateType = 0;
      void ContinuousLoop(ExampleStatus statusObj)
      {
          while (true)
          {
              //I don't want to use the options below
              //statusObj.Clear();
              //or
              //statusObj = new ExampleStatus();
  
              if (stateType == 0)
              {
                  statusObj.Id = 0;
                  statusObj.Name = "Firs Status";
              }
              else if (stateType == 1)
              {
                  statusObj.Id = 1;
                  statusObj.Name = "Second Status";
                  statusObj.receivedData = true;
              }
              else if (stateType == 2)
              {
                  statusObj.Id = 2;
                  statusObj.Name = "Third Status";
              }
          }
      }
      void RunThread()
      {
          var t1 = new Thread(() =&gt;
            {
                ContinuousLoop(status);
            });
          t1.Start();
      }
  </code></pre>
  
  <p>Is it possible to set default values ​​without a method or new instance, as shown in the example?
  Actually that's why I'm asking this question:
  I will use the class I have defined in many places. I will need to add a block of code, such as the Clear method, to every place I use it.</p>
  
  <p>I'm also curious about one more thing. If I assign a new instance every time to reset my objects, does this cause problems in memory?
  I know more or less how garbage collections work. However, they say that in practice it does not work as said in theory.
  So if I add "IDisposable" to my Class, it would tell the garbage collector: Welcome, I'm a litter. Will you take me too?</p>