當前位置:編程學習大全網 - 源碼下載 - 用C++來編寫程序

用C++來編寫程序

  Imports System.Reflection

Imports System.CodeDom

Imports System.CodeDom.Compiler

Public Class SourceComp

''//編譯器接口

Private m_Compiler As ICodeCompiler

''//編譯器參數

Private m_CompilerParameters As CompilerParameters

''//引用的程序集

Private m_RefAssemblies As String() = {"System.dll", "System.Data.dll"}

''//源代碼

Private m_Source As String = ""

''//記錄是否是默認的源代碼

Private m_Is_Default As Boolean = True

''//記錄編譯狀態

Private m_Compiled As Boolean = False

''//編譯生成的程序集

Private m_Assembly As System.Reflection.Assembly

''//默認源代碼生成的實例

Private m_tmpClass As Object

''//默認源代碼生成的實例函數

Private m_MethodInfo As System.Reflection.MethodInfo

''//默認源代碼函數的表達式參數

Private m_Expression As String

''//返回程序集

 Public ReadOnly Property cpAssembly() As System.Reflection.Assembly

Get

Return Me.m_Assembly

End Get

End Property

Sub New()

''//獲取VB編譯器實例

Me.m_Compiler = New VBCodeProvider().CreateCompiler

''//初始編譯器參數

Me.m_CompilerParameters = New CompilerParameters

With Me.m_CompilerParameters

.GenerateExecutable = False ''//False值指定編譯為類集,True編譯為可執行程序

.GenerateInMemory = False ''//只在內存中生成程序集,不輸出到磁盤

''//添加默認的程序集

Me.Add_CompilerParameters()

End With

End Sub

''//添加要引用的程序集

Private Sub Add_CompilerParameters()

Me.m_CompilerParameters.ReferencedAssemblies.AddRange(Me.m_RefAssemblies)

End Sub

''//添加指定的引用程序集

Public Sub Add_CompilerParameters(ByVal RefAssemblies As String())

Me.m_RefAssemblies = RefAssemblies

Me.m_CompilerParameters.ReferencedAssemblies.Clear() ''//清除原有的程序集,重復引用編譯會產生異常

Me.Add_CompilerParameters()

End Sub

''//生成默認的源代碼

''//類名:tmpClass

''//函數名:GetExpressionValue ,參數:Expression ,參數類型:字符串

''//主要功能:返回表達式Expression的值 ,返回值類型:Object

打字不易,如滿意,望采納。

  • 上一篇:App制作壹個多少錢?
  • 下一篇:春節是怎麽來的?
  • copyright 2024編程學習大全網