public void AppendMethod(MethodBase mi) { if (hasConstructor && !(mi is ConstructorInfo)) { throw new ChakraSharpException(); } if (mi is ConstructorInfo) { hasConstructor = true; } if (hasStatic && !mi.IsStatic) { throw new ChakraSharpException(); } if (mi.IsStatic) { hasStatic = true; } var oe = new OverloadEntry(mi); methodInfos.Add(oe); names.Add(mi.Name); if (string.IsNullOrEmpty(firstName)) { firstName = mi.Name; } }
static string OverloadToString(string name, OverloadEntry oe) { var sb = new StringBuilder(); sb.AppendFormat("{0}(", name); bool first = true; foreach (var p in oe.ps) { sb.AppendFormat("{0} {1}", p.parameterType, p.name); if (first) { first = false; sb.Append(", "); } } sb.Append(")"); return(sb.ToString()); }