internal virtual string GetTypeName(Type type) { if (type is Type) { return(((Type)type).Name); } ParameterizedType pt = (ParameterizedType)type; return(((Type)pt.GetRawType()).Name + "<" + ((Type)pt.GetActualTypeArguments()[0] ).Name + ">"); }