等效VBs->;C#:评估并执行

等效VBs->;C#:评估并执行,c#,vbscript,C#,Vbscript,我尝试将部分代码从VBScript转换为C#。 我有以下几行: string replacementMatch = ....; 或 我在C#中找不到等价项。Eval函数对表达式求值并返回结果。在静态类型语言(如C#和VB.NET)中找不到等效语言。有些库提供这种功能,例如。Eval函数计算表达式并返回结果。在静态类型语言(如C#和VB.NET)中找不到等效语言。有些库提供此类功能,例如。您无法找到完全相同的功能,但可以使用CodeDomProvider从生成的代码编译程序集,并使用反射从中调

我尝试将部分代码从VBScript转换为C#。 我有以下几行:

string replacementMatch = ....;


我在C#中找不到等价项。

Eval函数对表达式求值并返回结果。在静态类型语言(如C#和VB.NET)中找不到等效语言。有些库提供这种功能,例如。

Eval函数计算表达式并返回结果。在静态类型语言(如C#和VB.NET)中找不到等效语言。有些库提供此类功能,例如。

您无法找到完全相同的功能,但可以使用
CodeDomProvider
从生成的代码编译程序集,并使用
反射
从中调用方法。

您无法找到完全相同的功能,但可以使用
CodeDomProvider
从生成的代码编译程序集,并使用
Reflection
从中调用方法。

您可以添加对
Microsoft脚本控件的引用
并在c#中调用其Eval函数。 看看这个答案


您可以添加对Microsoft脚本控件的引用,并在c#中调用其Eval函数。 看看这个答案


您将找不到等效的。您可以使用C#编译器,但在应用程序中执行任意代码从来都不是一个好主意。考虑一下你的需求,看看写一个简单的解析器是可行的。在这种情况下,请查看System.Linq.Expressions。

您将找不到等效的表达式。您可以使用C#编译器,但在应用程序中执行任意代码从来都不是一个好主意。考虑一下你的需求,看看写一个简单的解析器是可行的。在这种情况下,请查看System.Linq.Expressions。

在VBScript文档中,您可以发现“Eval”和“Execute”参数的计算结果为“作为VBScript表达式”。简言之,没有C#等价物

一般来说,你应该查看VB代码,并考虑在C语言中重写它,不需要在运行时评估脚本。
如果您确实需要在运行时创建语句并对其求值,您可以尝试使用第三方工具,如“http://www.codeproject.com/KB/dotnet/evaluator.aspx(虽然我没有使用这个特殊的工具,但我能看到很少有真正需要的情况)。

在VBScript文档中,您可以找到“Eval”和“Execute”参数的计算方式为“作为VBScript表达式”。简言之,没有C#等价物

一般来说,你应该查看VB代码,并考虑在C语言中重写它,不需要在运行时评估脚本。 如果您确实需要在运行时创建语句并对其求值,您可以尝试使用第三方工具,如“http://www.codeproject.com/KB/dotnet/evaluator.aspx“(虽然我没有使用这个特殊的工具,但在真正需要的情况下,我几乎看不到这种情况)

replacementMatch = Eval(replacementMatch);
Execute(replacementMatch);