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();
}
}