title: Why can you still use a disposed object?
body: <p>I'm battling a bit to understand disposing of objects and garbage collection. In particular, I don't understand why I can still use a disposed object. I'm not trying to do anything practically, I'm just playing around with theory at the moment and in my understanding, I thought that I wouldn't be able to do the following:</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          Person p = new Person();
          using (p)
          {
              p.Name = "I am Name";
          }
          Console.WriteLine(p.Name); // I thought this would break because I've already disposed of p
          Console.ReadLine();
      }
  }
  public class Person : IDisposable
  {
      public string Name;
      public void Dispose()
      {
          Console.WriteLine("I got killed...");
      }
  }
  </code></pre>
  
  <p>I'm hoping that someone could perhaps give me some direction or guidance here so as to clear up my misunderstanding of this concept?</p>