在运行时在vb.net中从文本文件加载函数体

时间:2014-03-09 09:05:22

标签: vb.net compilation runtime

我创建了一个与注册表和系统管理一起工作的vb项目,但我的代码是这样的:

CheckAnswer(question_id)

这意味着每个问题都有自己的sys注册表和sys管理工作,我希望程序在运行时从文件中读取每个问题。 我做的CheckAnswer身体功能是:

Private Sub CheckAnswer(ByVal id As Integer)
    Dim mark As Integer
    mark = 0
    ''''''''''''''''''''''
    Select Case id

        Case 1

            Dim r As Rectangle = Nothing
            If GetTaskBarPosition(r, Me.Handle) Then
                If r.Y = 0 And r.X = 0 Then mark = 1
            End If


        Case 2

            If My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\", "TaskbarSizeMove", 1) = 0 Then mark = 1
end case

但是我想在运行时完成这项工作,并说要从文件中读取函数而不是源代码,以获得灵活性并添加新问题而不更改程序源,只需更改函数文件。


我搜索了这个网站和其他人的代码生成以及其他类似的东西和代码提供者。我从“代码项目”获得了一个项目,但是给了我编译错误。

我不想生成单独的类代码,因为我已经在我自己的类中实现了导入和库,我想说的是我想在我的函数文件中使用哪个程序。

1 个答案:

答案 0 :(得分:1)

可以编写VB.Net脚本文件并使用VBCodeProvider在运行时执行它们,将来如果需要,您将能够使用Roslyn编译器。

我有一个用于编译和运行C# Scripts的简短代码示例,为了使其适用于VB.Net,您只需要从C#转换代码,并使用VB.Net提供程序。

另一种选择是使用F#支持script files开箱即用(扩展名.fsx),可以轻松编辑executed