Type inference of KeyValuePair constructor - already in .NET?
<p>I'm currently using...</p>

<pre><code>public static class KeyValuePairFactory {
    public static KeyValuePair&lt;TKey, TValue&gt; Create&lt;TKey, TValue&gt;(
        TKey key,
        TValue value
    ) {
        return new KeyValuePair&lt;TKey, TValue&gt;(key, value);
    }
}
</code></pre>

<p>...so instead of...</p>

<pre><code>var pair = new KeyValuePair&lt;MyVeryUnwieldyType1, MyVeryUnwieldyType2&gt;(
    new MyVeryUnwieldyType1(),
    new MyVeryUnwieldyType2()
);
</code></pre>

<p>...I can avoid repeating types and simply:</p>

<pre><code>var pair = KeyValuePairFactory.Create(
    new MyVeryUnwieldyType1(),
    new MyVeryUnwieldyType2()
);
</code></pre>

<p>Am I reinventing the wheel and reimplementing something that is already available in .NET Framework?</p>
