如何使用VB.NET动态代码
小编给大家分享一下如何使用VB.NET动态代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
使用VB.NET动态代码
在运行时创建一个控件是在无法确定应用程序功能的时候采取的一种策略。但是动态创建控件并不适用于所有的情况。有些时候你必须建立可执行代码,虽然你的应用程序运行的目的是补偿不同极其之间的配置,不同用户的需求,不同的环境需求或是其他要求。当应用程序所运行的电脑不存在控件,那么通常是需要创建VB.NET动态代码的。
幸运的是,.NET为我们提供了一系列VB.NET动态代码选项。例如,你可以创建一个可执行的能独立运行的程序或是可以想运行中的程序加载一个DLL然后再执行。当你需要演示一个外部任务的时候可以使用选择可执行,如运行一种脚本——该DLL选项最适合扩大现有的应用程序功能。
你可以运行来自文件或内存的VB.NET动态代码。当你需要不止一次地运行代码时,可以使用文件。对代码的检查可以再次运行外部文件而不需要对其进行二次编译。当你需要多次演示任务的时候,如一个安装请求,那可以使用内存图像。
当然我们也可以更改源代码。例如,你可以使用字符串来建立需要在应用程序中直接使用的代码。如果你需要代码具有高度灵活性,且代码本身不是很长时,这一方法的优势就非常显著。也可以从文件里建立代码,就如同VS一样。这一方法最适用于相对稳定且不需要复杂编码的需求。第三种选择是使用 Documentation Object Model来创建代码并将其作为CodeDom树型结构的一个系列。该树型结构包括了CodeCormpileUnits.这就像是用DOM模式创建了一个XML文件。
使用动态创建代码的***方式是用示例来检查一下。例三展示了一个基本“Hello World”示例。该示例用源代码直接创建了代码因此你可以看到整个运行以及生成一个外部可执行文件的过程。
Private Sub btnTest3_Click() Handles btnTest3.Click ' Create a compiler. Dim Comp As VBCodeProvider = New VBCodeProvider() ' Define the parameters for the code you want to compile. Dim Parms As CompilerParameters = New CompilerParameters) ' We do want to create an executable, rather than a DLL. Parms.GenerateExecutable = True ' The compiler will create an output assembly called Output. Parms.OutputAssembly = "Output" ' The compiler won't treat warnings as errors. Parms.TreatWarningsAsErrors = False ' Add any assembly you want to reference. Parms.ReferencedAssemblies.Add("System.Windows.Forms.dll") ' Define the code you want to run. Dim SampleCode As StringBuilder = New StringBuilder() SampleCode.Append("Imports System.Windows.Forms" + vbCrLf) SampleCode.Append("Module TestAssembly" + vbCrLf) SampleCode.Append("Sub Main()" + vbCrLf) SampleCode.Append("MessageBox.Show(" + Chr(34) + _ "Dynamically Created Code!" + _Chr(34) + ")" + vbCrLf) SampleCode.Append("End Sub" + vbCrLf) SampleCode.Append("End Module" + vbCrLf) ' Define the code to run. Dim Executable As CompilerResults = _ Comp.CompileAssemblyFromSource(Parms, SampleCode.ToString()) ' Display error messages if there are any. If Executable.Errors.HasErrors Then For Each Item As CompilerError In Executable.Errors MessageBox.Show(Item.ErrorText) Next Else ' If there aren't any error messages, start the ' executable. Process.Start("Output") End If End Sub
以上是“如何使用VB.NET动态代码”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341