public override ConstructorInfo[] GetConstructors(BindingFlags bf) { ArrayList l = new ArrayList(); Type current_type = this; do { MonoGenericClass gi = current_type as MonoGenericClass; if (gi != null) { l.AddRange(gi.GetConstructors_impl(bf, this)); } else if (current_type is TypeBuilder) { l.AddRange(current_type.GetConstructors(bf)); } else { MonoType mt = (MonoType)current_type; l.AddRange(mt.GetConstructors_internal(bf, this)); break; } if ((bf & BindingFlags.DeclaredOnly) != 0) { break; } current_type = current_type.BaseType; } while (current_type != null); ConstructorInfo[] result = new ConstructorInfo [l.Count]; l.CopyTo(result); return(result); }