automatically infer class name as T for generics
<pre><code>public class TestClass1
{
    public void TestMethod1()
    {
        new Logger&lt;TestClass1&gt;().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
    }
}
</code></pre>

<p>When instantiating <strong>Logger</strong> and passing in <strong>TestClass1</strong> as <strong>generic T</strong>, there could be a problem if the developer types in some thing else as opposed to TestClass1. For example, following line of code could be an <strong>issue</strong>. </p>

<pre><code>new Logger&lt;Test123&gt;().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
</code></pre>

<p>How can I write the following line of code that it would automatically infer <strong>TestClass1</strong> and pass it?</p>

<pre><code>new Logger&lt;TestClass1&gt;().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
</code></pre>

<p>I have tried the following 2 lines of code but no luck. </p>

<pre><code>new Logger&lt;this&gt;().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
new Logger&lt;this.GetType&gt;().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
</code></pre>

<p><strong>UPDATE</strong>
Through out my application, I could be passing in any class whats so ever such as TestClass1, MyClass123 etc. etc.  so I may not be able to put any generic constraints. </p>

<p>Please help.</p>
