首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 發現之旅第十四講:VB.NET 腳本引擎(上)─ 腳本代碼生成與命名空間導入

     編輯:關於C語言

SourceImports 屬性


private StringCollection mySourceImports = new StringCollection();
public StringCollection SourceImports => mySourceImports;
  • 初始化預設添加 System、Microsoft.VisualBasic
  • 使用者可添加如 System.Drawing 等命名空間,減少腳本代碼前綴

運行時代碼生成


string moduleName = "mdlXVBAScriptEngine";
string nsName = "NameSpaceXVBAScriptEngine";
StringBuilder src = new StringBuilder();
src.Append("Option Strict Off");
foreach (string imp in mySourceImports)
    src.Append("\r\nImports " + imp);
src.Append("\r\nNamespace " + nsName);
src.Append("\r\nModule " + moduleName);
src.Append("\r\n");
src.Append(strScriptText); // 使用者原始腳本
src.Append("\r\nEnd Module");
src.Append("\r\nEnd Namespace");
string strRuntimeSource = src.ToString();

生成結構說明


Option Strict Off
Imports System
Imports Microsoft.VisualBasic
Imports System.Drawing  // 使用者添加
Namespace NameSpaceXVBAScriptEngine
Module mdlXVBAScriptEngine

Sub 腳本方法1()
' VB.Net 代碼
End Sub

Sub 腳本方法2()
' VB.Net 代碼
End Sub

End Module
End Namespace
  • Option Strict Off 寬鬆型別檢查,適合腳本快速開發
  • 斜體部分為使用者提供的原始腳本,其餘由引擎自動包裝
  • 模組層級成員配合 StandardModuleAttribute 與 /imports 實現全域可見
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved