区块链技术博客
www.b2bchain.cn

Revit之UIControlledApplication与UIApplication互转求职学习资料

本文介绍了Revit之UIControlledApplication与UIApplication互转求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我们在开发的过程中,经常会遇到这种情况:

继承了IExternalApplication之后,它接口会传进一个UIControlledApplication的参数

    public interface IExternalApplication     {         Result OnShutdown(UIControlledApplication application);         Result OnStartup(UIControlledApplication application);     }

这个时候,我如果想获取UIApplication该如何实现呢?使用ILSpy工具查看UIControlledApplication的相关方法及属性,我们会发现它有我们想要的方法,只是未公开。

// Autodesk.Revit.UI.UIControlledApplication internal UIApplication getUIApplication() {     return this.m_uiapplication; }

既然知道它有这样的方法,那么直接反射:

“`
public static Autodesk.Revit.UI.UIApplication GetUIApplication(this UIControlledApplication app)
{
Type type = app.GetType();
BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;

我们在开发的过程中,经常会遇到这种情况:

继承了IExternalApplication之后,它接口会传进一个UIControlledApplication的参数

    public interface IExternalApplication     {         Result OnShutdown(UIControlledApplication application);         Result OnStartup(UIControlledApplication application);     }

这个时候,我如果想获取UIApplication该如何实现呢?使用ILSpy工具查看UIControlledApplication的相关方法及属性,我们会发现它有我们想要的方法,只是未公开。

// Autodesk.Revit.UI.UIControlledApplication internal UIApplication getUIApplication() {     return this.m_uiapplication; }

既然知道它有这样的方法,那么直接反射:

“`
public static Autodesk.Revit.UI.UIApplication GetUIApplication(this UIControlledApplication app)
{
Type type = app.GetType();
BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;

我们在开发的过程中,经常会遇到这种情况:

继承了IExternalApplication之后,它接口会传进一个UIControlledApplication的参数

    public interface IExternalApplication     {         Result OnShutdown(UIControlledApplication application);         Result OnStartup(UIControlledApplication application);     }

这个时候,我如果想获取UIApplication该如何实现呢?使用ILSpy工具查看UIControlledApplication的相关方法及属性,我们会发现它有我们想要的方法,只是未公开。

// Autodesk.Revit.UI.UIControlledApplication internal UIApplication getUIApplication() {     return this.m_uiapplication; }

既然知道它有这样的方法,那么直接反射:

“`
public static Autodesk.Revit.UI.UIApplication GetUIApplication(this UIControlledApplication app)
{
Type type = app.GetType();
BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Revit之UIControlledApplication与UIApplication互转求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们