有没有像.NET的“选项”库?

问题描述:

我正在开发一个插件系统。一些插件需要用户输入。我希望他们能够向主应用程序报告他们需要什么输入,并让主应用程序决定如何获取它。似乎可能有某种类型的库设计用于指定这样的选项。所以就像插件可以返回某种Options对象一样,指定名称和选项类型,主应用程序可以使用它来确定显示哪种控件以获得所需的选项。有没有像.NET的“选项”库?

我不知道这样的东西是否存在,但似乎有点可能因为似乎有很多应用程序使用这样的选项。我正在考虑像Firefox这样的东西:配置只是显示了一个庞大的选项列表,并且知道如何处理每个选项。基本上我希望能够为我的主应用程序(它不是一个Web应用程序或浏览器,这只是一个示例)创建一个about:config页面,它可以查看插件所需的选项并自动生成一个简单的接口(如about:config )来获得这些选项。

+0

调查定义API = /?我认为这就是你要求的 – Warty 2010-02-25 19:27:31

如果是WinForms应用程序,请查看PropertyGrid控件。您创建一个类对象,其中包含您希望用户配置的所有选项的属性。然后你用这个对象设置PropertyGrid的“SelectedObject”属性。然后控件将创建一个窗口,让用户在运行时修改选项对象的值。

+0

太棒了。我仍然听到更多的答案,但我不知道PropertyGrid,这肯定会奏效。 – 2010-02-25 20:03:43

您对功能的要求相当特别。通常,框架(或某个特殊的库)不知道应用程序的设计和需求,也不知道应该什么时候向用户提问。而且,通常插件是根据需要加载的,而不是在应用程序启动时加载的,因此在此处由框架/库触发的任何UI逻辑可能都非常不合适。

因此,基本上看起来你需要自己编写库。

+1

我不认为这很不寻常。使用插件框架的许多许多应用程序还提供了插件用于配置自身的标准UI。 – Nick 2010-02-25 19:32:08