title: Find out if a type is being referenced and hence may be potentially loaded at some point in time
body: <p>I should know this but can't seem to remember.</p>
  
  <p>How do I find out if a type is being used in an assembly (and not just that it exists in the assembly, which is the easy part).</p>
  
  <pre><code>class Dog { }
  
  class Cat { }
  
  class Rat { }
  
  public object GetAnimal()
  {
    if (today.Is(DayOfWeek.Monday))
    {
      return new Dog();
    }
    else
    {
      return new Cat();
    }
  }
  </code></pre>
  
  <p>I want both Cat and Dog to show up as they can potentially be loaded at some time, but since Rat isn't being used, I don't want it to show up in my results.</p>