views:

95

answers:

1

I want to get type of TKey and TValue given a Dictionary<TKey,TValue> type.

eg. If type is Dictionary<Int32,String> I want to know how to get keyType = typeof(Int32) and valueType = typeof(String)

+8  A: 

I think this may be what you are looking for:

Dictionary<int, string> dictionary = new Dictionary<int, string>();
Type[] arguments = dictionary.GetType().GetGenericArguments();
Type keyType = arguments[0];
Type valueType = arguments[1];

Ref: Type.GetGenericArguments

Fredrik Mörk
http://msdn.microsoft.com/en-us/library/system.type.getgenericarguments.aspx
Mitch Wheat
@Mitch: thanks; I can't believe that I missed out on posting a link to the documentation.
Fredrik Mörk
@Fredrik: I took the liberty of adding link to your post.
Mitch Wheat