如何在VB.NET 2010中为用户提供在运行时编写代码的能力

时间:2014-10-03 13:18:23

标签: vb.net user-interface

我想让最终用户能够创建像:

这样的小脚本
if value1 = 2 then
value2 = 1
end if

我想在我的vb.net winforms应用程序中执行此操作,以允许用户比较应用程序DB中的值并更改值。我做了一些搜索,但我对这个主题看不太多。

谢谢。

2 个答案:

答案 0 :(得分:0)

MS曾经提供过VBA(Visual Basic for Applications)SDK,但是在2007年被淘汰了。然后他们推出了VSA(Visual Studio for Applications)并在VS2005出现时抛出它。现在,你唯一可以做的就是提供真正的编程能力就是编写自己的(使用C#,VBScript或其他一些语言),然后编译并执行它。

您最好提供一个简单的界面,他们可以选择某些功能(许多应用程序称之为表达式生成器),并且您有大量案例来处理您允许的功能。

有关VBA / VSA的详细信息,请参阅此Wiki

答案 1 :(得分:-1)

你不会对此有太多了解,因为这不是一个好主意。允许最终用户创建开放式搜索的能力绝不是一个好主意。您已经触及了软件开发中的一个更棘手的问题......即席查询。

简而言之,您最好的选择是找出用户需要的查询类型,并为其提供强类型搜索条件选项,以便根据需要过滤结果集。