Using void pointers as template and function parameters in C#
<p>Being a bit of a C++ fanatic, i am in desperate need of using void pointers in C#. The task at hand requires me to <b>not</b> know the type of a certain variable at compile time. 
So, i thought about preparing a structure with all the info needed to identify the type at runtime. Now, the idea would work in C++, however, C# isn't quite as C++.:wq
   In particular, i need to define a:</p>

<pre><code>    private List&lt;KeyValuePair&lt;
                                 string, KeyValuePair&lt;
                                                        string, void*
                                                     &gt;
                                  &gt;
                     &gt; mappings;
</code></pre>

<p>The first problem starts here. .Net isn't letting me define eh <code>KeyValuePair</code> as <code>&lt;string, void*&gt;</code>. The error i get is:  Error 3 The type 'void*' may not be used as a type argument. 
 The error message is quite straightforward, however, having the possibility of doing this will save me a couple of days of work.
 The second problem is in the same neighborhood. I need to define this function:</p>

<pre><code> public unsafe void addMapping(string name, string internal_name, void* storage)
</code></pre>

<p>again, not allowed, in this case: Error 2 The type 'void*' may not be used as a type argument
  Is there some way around these issues?</p>

<p>Thanks for the help!</p>
