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 + -
显示快捷键?