title: How can I change a property to a different value, every time I create a new object from that class?
body: <p>Today I started a console project with C#. 
  My idea is to set up a class for every card there is in a standard deck of 52 cards. 
  I'm now at implementing my first card "Two" so the card with the value of 2. 
  <strong>The problem is a deck contains 4 cards of "Two's" any with a different "color" (eg. club, diamond, heart, spade). So I have to keep track of what the card object I will create later on has which color on it.</strong> 
  I absolutely don't know how to do this? </p>
  
  <p>I googled a bit and <strong>my idea is to switch the color somehow everytime I create a new object to:<br>
  club --> diamond --> hearth --> spade</strong> (then it starts from the beginning when I create a 2nd deck) because a blackjack game contains 6 x a deck of 52 cards. </p>
  
  <p>This is my class so far:</p>
  
  <pre><code>class Two : ICard // thats the card with the value of "One"; 
  {
      // in a deck of 52 cards there are 4 cards with "Two" in each color: club, diamond, heart, spade
  
      public string Name { get =&gt; Name;  private set =&gt; Name = value; }
      public int Value { get =&gt; Value;  private set =&gt; Value = value; }
      public int MaxIncludedInDeck { get =&gt; MaxIncludedInDeck; private set =&gt; MaxIncludedInDeck = value; }
      public string CardColor { get =&gt; CardColor; private set =&gt; CardColor = value; }
  
      public Two()
      {
          Name = "One";
          Value = 1;
          MaxIncludedInDeck = 4;
  
          // TODO: Figure out how to set one object to club, one to diamond, one to hearth and one to spade
  
  
      }
  }
  </code></pre>
  
  <p>It just implements an interface with the same methods (I'm practicing the OOP by using an interface). </p>
  
  <p><strong>Maybe you can lead me into the right direction</strong> and tell me a few ideas how to tackle that problem? 
  Thanks in advance!</p>