System.Web.HttpApplicationFactory.GetMethodsDeep C# (CSharp) Method

GetMethodsDeep() private method

private GetMethodsDeep ( Type type ) : ArrayList
type System.Type
return System.Collections.ArrayList
		ArrayList GetMethodsDeep (Type type)
		{
			ArrayList al = new ArrayList ();
			MethodInfo[] methods = type.GetMethods (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance  | BindingFlags.Static | BindingFlags.FlattenHierarchy);
			al.AddRange (methods);

			Type t = type.BaseType;
			while (t != null) {
				methods = t.GetMethods (BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static);
				al.AddRange (methods);
				t = t.BaseType;
			}

			return al;
		}