static string[] DescribeConstructors(ConstructorInfo[] constructors) { string[] result = null; string mods; ConstructorInfo c; result = new string[constructors.Count()]; for (int i = 0; i < constructors.Count(); i++) { c = constructors[i]; mods = ""; if (c.IsPublic) { mods = mods + "public "; } if (c.IsPrivate) { mods = mods + "private "; } if (c.IsFamily) { mods = mods + "protected "; } if (c.IsStatic) { mods = mods + "static "; } if (c.IsAbstract) { mods = mods + "abstract "; } if (c.IsVirtual) { mods = mods + "virtual "; } result[i] = string.Format("{0}{1} ({2});", mods, c.ReflectedType.Name, DescribeParams(c.GetParameters())); } return result; }