public static MethodDescriptorCollection CreateMethodDescriptors(Type type) { var descriptors = new MethodDescriptorCollection(); foreach (var item in type.GetMethods()) { var attr = item.GetCustomAttribute<CommandMethodAttribute>(); if (attr == null) continue; descriptors.Add(new MethodDescriptor(item)); } foreach (var item in GetStaticMethodDescriptors(type)) { descriptors.Add(item); } return descriptors; }