49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
|
|
namespace ShrlAlgo.Toolkit.Revit.Helpers;
|
|||
|
|
|
|||
|
|
public class NativeModule
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获取RevitAPI程序集Module内的方法名称.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="name"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
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();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获取RevitAPIUI程序集Module内的方法名称.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="name"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
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();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获取RevitAPI Modules.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
internal static Module GetApiModule()
|
|||
|
|
{
|
|||
|
|
return typeof(Document).Assembly.Modules.First();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获取RevitAPIUI Modules.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
internal static Module GetUiModule()
|
|||
|
|
{
|
|||
|
|
return typeof(UIDocument).Assembly.Modules.First();
|
|||
|
|
}
|
|||
|
|
}
|