mygenerator.vb
来自「大名鼎鼎的mono是.NET平台的跨平台(支持linux」· VB 代码 · 共 633 行 · 第 1/3 页
VB
633 行
ProjectCode.AppendLine(" Private Shared ReadOnly m_MyWebServicesObjectProvider As ThreadSafeObjectProvider(Of MyWebServices) = New ThreadSafeObjectProvider(Of MyWebServices)") ProjectCode.AppendLine(" <Global.System.ComponentModel.Design.HelpKeyword(""My.WebServices"")> _") ProjectCode.AppendLine(" Friend Shared ReadOnly Property WebServices As MyWebServices") ProjectCode.AppendLine(" <Global.System.Diagnostics.DebuggerHidden()> _") ProjectCode.AppendLine(" Get") ProjectCode.AppendLine(" Return m_MyWebServicesObjectProvider.GetInstance") ProjectCode.AppendLine(" End Get") ProjectCode.AppendLine(" End Property") Return result End Function Sub GenerateGroupCollectionClass(ByVal TypeName As String, ByVal TypeToCollect As String) Dim code As String = VB.vbNewLine & _ " <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _" & VB.vbNewLine & _ " <Global.Microsoft.VisualBasic.MyGroupCollection(""{1}"", ""Create__Instance__"", ""Dispose__Instance__"", """")> _" & VB.vbNewLine & _ " Friend NotInheritable Class {0}" & VB.vbNewLine & _ " <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _" & VB.vbNewLine & _ " <Global.System.Diagnostics.DebuggerHidden> _" & VB.vbNewLine & _ " Public Sub New()" & VB.vbNewLine & _ " End Sub" & VB.vbNewLine & _ " " & VB.vbNewLine & _ " <Global.System.Diagnostics.DebuggerHidden> _" & VB.vbNewLine & _ " Private Shared Function Create__Instance__(Of T As New)(ByVal instance As T) As T" & VB.vbNewLine & _ " If (instance Is Nothing) Then" & VB.vbNewLine & _ " Return Global.System.Activator.CreateInstance(Of T)" & VB.vbNewLine & _ " End If" & VB.vbNewLine & _ " Return instance" & VB.vbNewLine & _ " End Function" & VB.vbNewLine & _ " " & VB.vbNewLine & _ " <Global.System.Diagnostics.DebuggerHidden> _" & VB.vbNewLine & _ " Private Sub Dispose__Instance__(Of T)(ByRef instance As T)" & VB.vbNewLine & _ " instance = CType(Nothing, T)" & VB.vbNewLine & _ " End Sub" & VB.vbNewLine & _ " " & VB.vbNewLine & _ " <Global.System.Diagnostics.DebuggerHidden> _" & VB.vbNewLine & _ " <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _" & VB.vbNewLine & _ " Public Overrides Function Equals(ByVal o As Object) As Boolean" & VB.vbNewLine & _ " Return MyBase.Equals(Global.System.Runtime.CompilerServices.RuntimeHelpers.GetObjectValue(o))" & VB.vbNewLine & _ " End Function" & VB.vbNewLine & _ " " & VB.vbNewLine & _ " <Global.System.Diagnostics.DebuggerHidden> _" & VB.vbNewLine & _ " <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _" & VB.vbNewLine & _ " Public Overrides Function GetHashCode() As Integer" & VB.vbNewLine & _ " Return MyBase.GetHashCode" & VB.vbNewLine & _ " End Function" & VB.vbNewLine & _ " " & VB.vbNewLine & _ " <Global.System.Diagnostics.DebuggerHidden> _" & VB.vbNewLine & _ " <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _" & VB.vbNewLine & _ " Friend Function [GetType]() As Type" & VB.vbNewLine & _ " Return GetType(MyWebServices)" & VB.vbNewLine & _ " End Function" & VB.vbNewLine & _ " " & VB.vbNewLine & _ " <Global.System.Diagnostics.DebuggerHidden> _" & VB.vbNewLine & _ " <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _" & VB.vbNewLine & _ " Public Overrides Function ToString() As String" & VB.vbNewLine & _ " Return MyBase.ToString" & VB.vbNewLine & _ " End Function" & VB.vbNewLine & _ " End Class" & VB.vbNewLine & _ "" ProjectCode.Append(String.Format(code, TypeName, TypeToCollect)) End Sub Function GenerateMyLog() As Boolean Dim result As Boolean = True If m_MyType <> MyTypes.Web Then Return True Dim code As String code = "" & _ " Private Shared ReadOnly m_LogObjectProvider As ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Logging.AspLog) = New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Logging.AspLog)" & VB.vbNewLine & _ " <Global.System.ComponentModel.Design.HelpKeyword(""My.Application.Log"")> _" & VB.vbNewLine & _ " Friend Shared ReadOnly Property Log As Global.Microsoft.VisualBasic.Logging.AspLog" & VB.vbNewLine & _ " Get" & VB.vbNewLine & _ " Return MyProject.m_LogObjectProvider.GetInstance" & VB.vbNewLine & _ " End Get" & VB.vbNewLine & _ " End Property" & VB.vbNewLine ProjectCode.AppendLine(code) 'ProjectCodeCctor.AppendLine(" m_LogObjectProvider = New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Logging.AspLog)") Return result End Function Function GenerateMyComputer() As Boolean Dim result As Boolean = True Dim _MyComputerDefine As Define Dim _MyComputer As String _MyComputerDefine = Compiler.CommandLine.Define("_MYCOMPUTERTYPE") If _MyComputerDefine Is Nothing Then Select Case m_MyType Case MyTypes.Console, MyTypes.WindowsFormsWithCustomSubMain, MyTypes.Windows, MyTypes.WindowsForms _MyComputer = "Windows" Case MyTypes.Web, MyTypes.WebControl _MyComputer = "Web" Case Else _MyComputer = String.Empty End Select Else _MyComputer = _MyComputerDefine.Value End If Dim baseClass As String Select Case _MyComputer Case "Web" baseClass = "Global.Microsoft.VisualBasic.Devices.ServerComputer" Case "Windows" baseClass = "Global.Microsoft.VisualBasic.Devices.Computer" Case Else Return True End Select Code.AppendLine(" <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _") Code.AppendLine(" <Global.System.CodeDom.Compiler.GeneratedCode(""MyTemplate"", ""8.0.0.0"")> _") Code.AppendLine(" Friend Class MyComputer") Code.Append(" Inherits ") : Code.AppendLine(baseClass) Code.AppendLine(" <Global.System.Diagnostics.DebuggerHidden()> _") Code.AppendLine(" <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _") Code.AppendLine(" Public Sub New()") Code.AppendLine(" End Sub") Code.AppendLine(" End Class") ProjectCode.AppendLine(" Private Shared ReadOnly m_ComputerObjectProvider As ThreadSafeObjectProvider(Of $GLOBALMY$.MyComputer) = New ThreadSafeObjectProvider(Of $GLOBALMY$.MyComputer)") ProjectCode.AppendLine(" <Global.System.ComponentModel.Design.HelpKeyword(""My.Computer"")> _") ProjectCode.AppendLine(" Friend Shared ReadOnly Property Computer As $GLOBALMY$.MyComputer") ProjectCode.AppendLine(" <Global.System.Diagnostics.DebuggerHidden()> _") ProjectCode.AppendLine(" Get") ProjectCode.AppendLine(" Return m_ComputerObjectProvider.GetInstance") ProjectCode.AppendLine(" End Get") ProjectCode.AppendLine(" End Property") Return result End Function Function GenerateMyRequest() As Boolean Dim result As Boolean = True If m_MyType <> MyTypes.Web Then Return True Dim code As String code = "" & _ " <Global.System.ComponentModel.Design.HelpKeyword(""My.Request"")> _" & VB.vbNewLine & _ " Friend Shared ReadOnly Property Request As Global.System.Web.HttpRequest" & VB.vbNewLine & _ " Get" & VB.vbNewLine & _ " Dim current As Global.System.Web.HttpContext" & VB.vbNewLine & _ " current = Global.System.Web.HttpContext.Current" & VB.vbNewLine & _ " If current IsNot Nothing Then" & VB.vbNewLine & _ " Return current.Request" & VB.vbNewLine & _ " Else" & VB.vbNewLine & _ " Return Nothing" & VB.vbNewLine & _ " End If" & VB.vbNewLine & _ " End Get" & VB.vbNewLine & _ " End Property" & VB.vbNewLine ProjectCode.AppendLine(code) Return result End Function Function GenerateMyResources() As Boolean Dim result As Boolean = True Return result End Function Function GenerateMyResponse() As Boolean Dim result As Boolean = True If m_MyType <> MyTypes.Web Then Return True Dim code As String code = "" & _ " <Global.System.ComponentModel.Design.HelpKeyword(""My.Response"")> _" & VB.vbNewLine & _ " Friend Shared ReadOnly Property Response As Global.System.Web.HttpResponse" & VB.vbNewLine & _ " Get" & VB.vbNewLine & _ " Dim current As Global.System.Web.HttpContext" & VB.vbNewLine & _ " current = Global.System.Web.HttpContext.Current" & VB.vbNewLine & _ " If current IsNot Nothing Then" & VB.vbNewLine & _ " Return current.Response " & VB.vbNewLine & _ " Else" & VB.vbNewLine & _ " Return Nothing" & VB.vbNewLine & _ " End If" & VB.vbNewLine & _ " End Get" & VB.vbNewLine & _ " End Property" & VB.vbNewLine ProjectCode.AppendLine(code) Return result End Function Function GenerateMySettings() As Boolean Dim result As Boolean = True Return result End Function Enum MyTypes Console Custom Empty Web WebControl Windows WindowsForms WindowsFormsWithCustomSubMain End EnumEnd Class
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?