public Type GetGenericTypeDefinition(Type t) { Type tt = null; if (_genericTypeDef.TryGetValue(t, out tt)) return tt; else { tt = t.GetGenericTypeDefinition(); _genericTypeDef.Add(t, tt); return tt; } }