Jason Clark
本文假设您熟悉 .NET 与 C#
下载本文的代码: Plug-Ins.exe (135KB)
概述
大多数用户应用程序都受益于可由其他开发人员扩展的能力。
扩展一个用户已经很熟悉并针对它进行过培训的现有应用程序往往比从头开发来得简单和有效。因此,可扩展性会使您的应用程序更加吸引人。
您可以通过支持插件和宏等功能来使应用程序具有可扩展性。
使用 .NET Framework 可以轻松实现这一点,即使核心应用程序不是 .NET Framework 应用程序。
在本文中,作者将描述 .NET Framework 的可扩展功能(包括晚期绑定和反射)及它们的使用方式,同时还介绍插件安全注意事项。
想像一下完美的文本编辑器是什么样子的。它启动时间不超过两秒,支持针对流行的编程语言的上下文着色和自动缩进,支持多文档界面 (MDI) 以及很酷并且大受欢迎的选项卡式文档排列方式。构想这种完美的文本编辑器的问题在于完美只存在旁观者的眼中。
这些功能只是我对完美的文本编辑器的定义,其他人肯定会有不同的标准。也许完美的文本编辑器所能拥有的最重要的功能就是支持丰富的可扩展性,这样开发人员就可以使用他们需要的功能来扩展该应用程序。
可扩展的文本编辑器可能支持创建自定义工具栏、菜单、宏,甚至是自定义文档类型。
它应该允许我编写能挂接到编辑进程的插件,以便添加自动完成、拼写检查及其他诸如此类的美妙功能。
最后,完美的文本编辑器应该能让我用任何语言编写自己的插件(我个人的首选是 C#)。
诚然,我希望所用的每个应用程序都能按这种方式来扩展。
如果在某些地方编写少量代码就可以自定义自己喜欢的应用程序,那就再好不过。即使我做不到,我也知道其他人能够做到,我再通过下载来从 Internet 利用他们的扩展。这就是我开展此项活动以让所有开发人员都来编写可扩展应用程序的初衷。
理想的可扩展应用程序
许多应用程序都可以使用可插入代码来修改。