public static MethodDescriptorCollection CreateStaticMethodDescriptors(ICustomAttributeProvider provider) { var descriptors = new MethodDescriptorCollection(); var attrs = provider.GetCustomAttributes(typeof(CommandStaticMethodAttribute), true); foreach (var item in attrs) { if (item is CommandStaticMethodAttribute == false) continue; var attr = item as CommandStaticMethodAttribute; var staticDescriptors = CommandDescriptor.GetMethodDescriptors(attr.StaticType); descriptors.AddRange(Filter(staticDescriptors, attr.MethodNames)); } return descriptors; }