title: Does passing an object by value create two instances of a file system watcher?
body: <p>I have 3 classes. One class is my "Worker" class which has a file system watcher. The main form (class A) holds a reference to each instantiated Worker object in a List (_workerList). If I pass _workerList to class B (which I did via constructor) and save a copy of that list in class B, does that mean I have two instances of the file system watcher running at the same time?    </p>
  
  <pre><code>public partial class A : Form
  {
      private List&lt;Worker&gt; _workerList;
  
      public A()
      {
          InitializeComponent();
          _workerList = new List&lt;Worker&gt;();
      }
  
      private void button_Click(object sender, EventArgs e)
      {
          _workerList.Add(new Worker());  //the worker class contains a file system watcher
  
          using( B b = new B(_workerList))
          {
              b.ShowDialog();
          }
      }
  }
  
  public partial class B : Form
  { 
      private List&lt;Worker&gt; _workerListCopy;
  
      public B(List&lt;Worker&gt; originalWorkerList)
      {
          InitializeComponent();
          _workerListCopy = new List&lt;Worker&gt;(originalWorkerList)
      }
  
  }
  </code></pre>