namespace ShrlAlgo.Toolkit.Revit.Helpers; public class NativeModule { /// /// 获取RevitAPI程序集Module内的方法名称. /// /// /// public static MethodInfo GetApiModuleMethod(string name) { var module = GetApiModule(); var rs = module.GetMethods(BindingFlags.NonPublic | BindingFlags.Static).Where(m => m.Name == name).ToList(); return !rs.Any() ? null : rs.First(); } /// /// 获取RevitAPIUI程序集Module内的方法名称. /// /// /// public static MethodInfo GetUiModuleMethod(string name) { var module = GetUiModule(); var rs = module.GetMethods(BindingFlags.NonPublic | BindingFlags.Static).Where(m => m.Name == name).ToList(); return !rs.Any() ? null : rs.First(); } /// /// 获取RevitAPI Modules. /// /// internal static Module GetApiModule() { return typeof(Document).Assembly.Modules.First(); } /// /// 获取RevitAPIUI Modules. /// /// internal static Module GetUiModule() { return typeof(UIDocument).Assembly.Modules.First(); } }