码迷,mamicode.com
首页 > 其他好文 > 详细

完全开源基于插件的开发框架(使用DEV实现Ribbon界面)

时间:2018-06-10 12:15:30      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:htm   lis   界面库   控制   获取数据   and   role   实现   northwind   

以前写了几篇关于插件的文章:

C#一步一步实现插件框架的示例(一)

C#一步一步实现插件框架的示例(二)

C#一步一步实现插件框架的示例(三)

C#一步一步实现插件框架的示例(四)

按以上步骤可以即可实现自己的插件框架,可以大大地提高开发的效率和程序的稳定性。依据此思路,参考了网上的一些方法和代码,并使用DEV界面库实习了一套基于插件的开发框架,集成了一个简单实用的权限管理,开发一些小型的管理软件很方便,现在完全开源。在上述开源的代码中,有权限管理的模块可以做为开发插件的例子,同时也使用了一个NorthWind数据库的查看示例,即各个插件之间如何通信获取数据的方法。

 

向系统增加一个功能的代码如下:

 class NorthWindCommand:td.Core.AbstractToolButtonCommand
    {
        public override void Run()
        {
            var p = WorkBenchSingleTon.WorkBench.GetTabPage("Customers");
            if (p == null)
            {
                NorthWindView view = new NorthWindView();
                WorkBenchSingleTon.WorkBench.AddView(view);
            }
        }
        public override bool IsEnabled
        {
            get
            {
                CustomPrincipal cp = (CustomPrincipal)Thread.CurrentPrincipal; ;
                bool r =  (cp.IsAuthorized("Test 1") || cp.IsInRole("Admin"));
                return   r&&( null== WorkBenchSingleTon.WorkBench.GetTabPage("Customers"));

            }
            set
            {
                base.IsEnabled = value;
            }
        }
    }

以上代码就实现了该功能的权限控制和状态的控制了。非常方便告别到处判断按钮或窗口的状态。

开源所有的代码,请加QQ群732846120插件框架开发群,获取所有源码。

 

 

技术分享图片技术分享图片

 

完全开源基于插件的开发框架(使用DEV实现Ribbon界面)

标签:htm   lis   界面库   控制   获取数据   and   role   实现   northwind   

原文地址:https://www.cnblogs.com/city-hunter/p/9162169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!