System.Reflection.MonoGenericClass.GetProperties C# (CSharp) Method

GetProperties() public method

public GetProperties ( BindingFlags bf ) : System.Reflection.PropertyInfo[]
bf BindingFlags
return System.Reflection.PropertyInfo[]
		public override PropertyInfo[] GetProperties (BindingFlags bf)
		{
			if (!IsCompilerContext)
				throw new NotSupportedException ();

			ArrayList l = new ArrayList ();

			Type current_type = this;
			do {
				MonoGenericClass gi = current_type as MonoGenericClass;
				if (gi != null)
					l.AddRange (gi.GetPropertiesInternal (bf, this));
				else if (current_type is TypeBuilder)
					l.AddRange (current_type.GetProperties (bf));
				else {
					MonoType mt = (MonoType) current_type;
					l.AddRange (mt.GetPropertiesByName (null, bf, false, this));
					break;
				}

				if ((bf & BindingFlags.DeclaredOnly) != 0)
					break;
				current_type = current_type.BaseType;
			} while (current_type != null);

			PropertyInfo[] result = new PropertyInfo [l.Count];
			l.CopyTo (result);
			return result;
		}