What is the purpose of new() when defining a generic?
<p>I am trying to understand generics. Here's an example of one:</p>

<pre><code>   public static bool CreateTableIfNotExist&lt;T&gt;(this CloudTableClient tableStorage, string entityName)
        where T : TableServiceEntity, new()
    {
        bool result = tableStorage.CreateTableIfNotExist(entityName);

        return result;
    }
</code></pre>

<p>I have a couple of questions. Firstly, what's the purpose of new() in the definition. My other question is, how can I use this generic. There's an example here:</p>

<pre><code>_tableStorage.CreateTableIfNotExist&lt;MembershipRow&gt;(_tableName);
</code></pre>

<p>But i don't understand. What really is the purpose of this generic? Can't I just do the same thing without the generic?</p>

<pre><code>_tableStorage.CreateTableIfNotExist("MyNewTable");
</code></pre>
