10
use inheritance:
public class DoubleNameValueCollection : Dictionary< string, NameValueCollection > { }
Then use as if it were a typedef:
NameValueCollection values = new NameValueCollection();
values.Add( "value1", "value2" );
DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection();
dblNameCol.Add( "key1", values );
Or if you want to confuse others:
DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection
{
{ "key1", new NameValueCollection
{
{ "value1", "value2" }
}}};
There is delegate, which is used for defining a type of method argument,
there is using BlaBla = Full.Name.Space.Yada.Yada;
however, the using statement is only valid in current file.