title: Using instances of one class in different threads
body: <p>I'd like to make things more clear to me about using instances of a class in multithreading application:<br>
  <strong>Can I use instances of one and the same class in different threads?</strong> In other words, <strong>can I create in different threads instances of the same class?</strong> </p>
  
  <p>For example:<br>
  I have a class <code>DbConnectionHelper</code> which gets a connection string in its default constructor and make the connection string visible using a public property:</p>
  
  <pre><code>public class DbConnectionHelper
  {
      string connstring;
  
      public DbConnectionHelper()
      {
          string userconnstring = Settings.Default.ConnectionString;
          connstring = GetConnectionString(userconnstring);
          ...
      }
  
      public string ConnString
      {
          get
          {
              return connstring;
          }
          set
          {
              connstring = value;
          }
      }
    ...
  </code></pre>
  
  <p>Then I have a number of repository classes which get data from a database using Entity Framework. Some of those repository classes have instances in UI thread, some of them - in other threads (not UI).</p>
  
  <p><strong>Can all of those repository classes get the connection string by creating instance of one class DbConnectionHelper and then reading its ConnString property?</strong></p>
  
  <pre><code>DBConnectionHelper connhelper = new DBConnectionHelper();
  string conn = connhelper.ConnString;
  </code></pre>