diff --git a/ILRuntime/CLR/Utils/Extensions.cs b/ILRuntime/CLR/Utils/Extensions.cs index 2508710e..0732ba7b 100644 --- a/ILRuntime/CLR/Utils/Extensions.cs +++ b/ILRuntime/CLR/Utils/Extensions.cs @@ -49,10 +49,15 @@ public static List GetParamList(this MethodReference def, ILRuntime.Runti t = appdomain.GetType(ga, contextType, contextMethod); if (t == null && genericArguments != null) t = genericArguments[j]; - if (name == gp.Name + "[]") + int nameLength = gp.Name.Length; + if (name.Length == nameLength + 2 && name.StartsWith(gp.Name) && name.EndsWith("[]")) { name = t.FullName + "[]"; } + else if (name.Length == nameLength + 11 && name.StartsWith(gp.Name) && name.EndsWith("[0...,0...]")) + { + name = t.FullName + "[,]"; + } else { /*name = name.Replace("<" + gp.Name + ">", "<" + ga.FullName + ">");