⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typeconverter.vb

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 VB
📖 第 1 页 / 共 4 页
字号:
' Visual Basic.Net Compiler' Copyright (C) 2004 - 2007 Rolf Bjarne Kvinge, RKvinge@novell.com' ' This library is free software; you can redistribute it and/or' modify it under the terms of the GNU Lesser General Public' License as published by the Free Software Foundation; either' version 2.1 of the License, or (at your option) any later version.' ' This library is distributed in the hope that it will be useful,' but WITHOUT ANY WARRANTY; without even the implied warranty of' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU' Lesser General Public License for more details.' ' You should have received a copy of the GNU Lesser General Public' License along with this library; if not, write to the Free Software' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA' Public Class TypeConverter    '0 = A Empty          A    '1 = B Object         B    '2 = C DBNull         C    '3 = D Boolean        D    '4 = E Char           E    '5 = F SByte          F    '6 = G Byte           G    '7 = H Int16(Short)   H    '8 = I UInt16(UShort) I    '9 = J Int32          J    '10= K UInt32         K     '11= L Int64(Long)    L    '12= M UInt64(ULong)  M    '13= N Single         N    '14= O Double         O    '15= P Decimal        P    '16= Q DateTime       Q    '17= - 17             -    '18= S String         S    Public Shared LikeResultType As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBBBBBBBBBBBBBB-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "XBXDDDDDDDDDDDDDD-D" & _            "-------------------" & _            "XBXDDDDDDDDDDDDDD-D"    Public Shared LikeOperandType As String = "" & _                "XXXXXXXXXXXXXXXXX-X" & _                "XBXBBBBBBBBBBBBBB-B" & _                "XXXXXXXXXXXXXXXXX-X" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "XBXSSSSSSSSSSSSSS-S" & _                "-------------------" & _                "XBXSSSSSSSSSSSSSS-S"    Public Shared ConcatResultType As String = LikeOperandType    Public Shared ConcatOperandType As String = LikeOperandType    Public Shared ModResultType As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBXBBBBBBBBBBBX-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXFXFHHJJLLPNOPX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXFXFHHJJLLPNOPX-O" & _            "XBXHXHGHIJKLMNOPX-O" & _            "XBXHXHHHJJLLPNOPX-O" & _            "XBXJXJIJIJKLMNOPX-O" & _            "XBXJXJJJJJLLPNOPX-O" & _            "XBXLXLKLKLKLMNOPX-O" & _            "XBXLXLLLLLLLPNOPX-O" & _            "XBXPXPMPMPMPMNOPX-O" & _            "XBXNXNNNNNNNNNOPX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXPXPPPPPPPPPOPX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "-------------------" & _            "XBXOXOOOOOOOOOOOX-O"    Public Shared IntDivResultTypes As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBXBBBBBBBBBBBX-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXFXHHJJJLLLLLLX-L" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXHXGHJJJLLLLLLX-L" & _            "XBXHXHHIIJKLMLLLX-L" & _            "XBXJXJIIJJLLLLLLX-L" & _            "XBXJXJIJIJKLMLLLX-L" & _            "XBXJXJJJJJLLLLLLX-L" & _            "XBXLXLKLKLKLMLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XBXLXLMLMLMLMLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XXXXXXXXXXXXXXXXX-X" & _            "-------------------" & _            "XBXLXLLLLLLLLLLLX-L"    Public Shared RealDivResultTypes As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBXBBBBBBBBBBBX-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXOXOOOOOOOONOOX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXOXOOOOOOOONOOX-O" & _            "XBXNXNNNNNNNNNOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "-------------------" & _            "XBXOXOOOOOOOOOOOX-O"    Public Shared AddResultType As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBBBBBBBBBBBBBB-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXFXFHHJJLLPNOPX-O" & _            "XBXXSXXXXXXXXXXXX-S" & _            "XBXFXFHHJJLLPNOPX-O" & _            "XBXHXHGHIJKLMNOPX-O" & _            "XBXHXHHHJJLLPNOPX-O" & _            "XBXJXJIJIJKLMNOPX-O" & _            "XBXJXJJJJJLLPNOPX-O" & _            "XBXLXLKLKLKLMNOPX-O" & _            "XBXLXLLLLLLLPNOPX-O" & _            "XBXPXPMPMPMPMNOPX-O" & _            "XBXNXNNNNNNNNNOPX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXPXPPPPPPPPPOPX-O" & _            "XBXXXXXXXXXXXXXXX-S" & _            "-------------------" & _            "XBXOSOOOOOOOOOOOS-S"    Public Shared SubResultType As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBXBBBBBBBBBBBX-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXFXFHHJJLLPNOPX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXFXFHHJJLLPNOPX-O" & _            "XBXHXHGHIJKLMNOPX-O" & _            "XBXHXHHHJJLLPNOPX-O" & _            "XBXJXJIJIJKLMNOPX-O" & _            "XBXJXJJJJJLLPNOPX-O" & _            "XBXLXLKLKLKLMNOPX-O" & _            "XBXLXLLLLLLLPNOPX-O" & _            "XBXPXPMPMPMPMNOPX-O" & _            "XBXNXNNNNNNNNNOPX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXPXPPPPPPPPPOPX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "-------------------" & _            "XBXOXOOOOOOOOOOOX-O"    Public Shared MultResultType As String = SubResultType    Public Shared ShortcircuitResultType As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBXBBBBBBBBBBBX-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XBXDXDDDDDDDDDDDX-D" & _            "XXXXXXXXXXXXXXXXX-X" & _            "-------------------" & _            "XBXDXDDDDDDDDDDDX-D"    Public Shared LogicalOperatorResultType As String = "" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBXBBBBBBBBBBBX-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXDXFHHJJLLLLLLX-D" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXFXFHHJJLLLLLLX-L" & _            "XBXHXHGHIJKLMLLLX-L" & _            "XBXHXHHHJJLLLLLLX-L" & _            "XBXJXJIJIJKLMLLLX-L" & _            "XBXJXJJJJJLLLLLLX-L" & _            "XBXLXLKLKLKLMLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XBXLXLMLMLMLMLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XBXLXLLLLLLLLLLLX-L" & _            "XXXXXXXXXXXXXXXXX-X" & _            "-------------------" & _            "XBXDXLLLLLLLLLLLX-L"    Public Shared BinaryOperandTypes As String = _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBBBBBBBBBBBBBB-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXDXFHHJJPLPNOPX-D" & _            "XBXXEXXXXXXXXXXXX-S" & _            "XBXFXFHHJJPLPNOPX-O" & _            "XBXHXHGHIJKLMNOPX-O" & _            "XBXHXHHHJJPLPNOPX-O" & _            "XBXIXJIJIJKLMNOPX-O" & _            "XBXJXJJJJJPLPNOPX-O" & _            "XBXPXPKPKPKLMNOPX-O" & _            "XBXLXLLLLLLLPNOPX-O" & _            "XBXPXPMPMPMPMNOPX-O" & _            "XBXNXNNNNNNNNNOPX-O" & _            "XBXOXOOOOOOOOOOPX-O" & _            "XBXPXPPPPPPPPPPPX-O" & _            "XBXXXXXXXXXXXXXXQ-Q" & _            "-------------------" & _            "XBXDSOOOOOOOOOOOQ-S"    Public Shared ExponentResultTypes As String = _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXBXBBBBBBBBBBBX-B" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XBXOXOOOOOOOOOOOX-O" & _            "XXXXXXXXXXXXXXXXX-X" & _            "-------------------" & _            "XBXOXOOOOOOOOOOOX-O"    Public Shared NotOperatorResultType As String = "XBXDXFGHIJKLMLLLX-L"    Public Shared UnaryPlusResultType As String = "XBXFXFGHIJKLMNOPX-O"    Public Shared UnaryMinusResultType As String = "XBXFXFHHJJLLPNOPX-O"    Public Shared ShiftResultType2 As String = "XBXFXFGHIJKLMLLLX-L"    Public Shared ShiftResultType As String = _ "XXXXXXXXXXXXXXXXX-X" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XXXXXXXXXXXXXXXXX-X" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XXXXXXXXXXXXXXXXX-X" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XBXFXFGHIJKLMLLLX-L" & _ "XXXXXXXXXXXXXXXXX-X" & _ "-------------------" & _ "XBXFXFGHIJKLMLLLX-L"    ''' <summary>    ''' X=?    ''' I=Implicit ok    ''' 0=Explicit ok    ''' 1=30311    ''' 2=32007    ''' 3=30533    ''' 4=32006    ''' 5=30532    ''' 6=30533    ''' A=30311, only explicit    ''' </summary>    ''' <remarks></remarks>    Public Shared ConversionResultType As String = _            "XXXXXXXXXXXXXXXXX-X" & _            "X0X00000000000000-0" & _            "XXXXXXXXXXXXXXXXX-X" & _            "XIXI1000000000001-0" & _            "XIX1I222222221111-0" & _            "XIX04I00000000001-0" & _            "XIX040I0000000001-0" & _            "XIX0400I000000001-0" & _            "XIX04000I00000001-0" & _            "XIX040000I0000001-0" & _            "XIX0400000I000001-0" & _            "XIX04000000I00001-0" & _            "XIX040000000I0001-0" & _            "XIX0100000000I001-0" & _            "XIX01000000000I05-0" & _            "XIX010000000000I1-0" & _            "XIX1111111111161I-0" & _            "-------------------" & _            "XIX00000000000000-I"    Shared Function GetErrorNumberForBinaryOperation(ByVal op As KS, ByVal left As TypeCode, ByVal right As TypeCode) As Integer        If op = KS.ShiftLeft OrElse op = KS.ShiftRight Then            If left = TypeCode.Object AndAlso (right = TypeCode.DateTime OrElse right = TypeCode.Char) Then Return 0            If left <> TypeCode.DateTime AndAlso left <> TypeCode.Char Then                If right = TypeCode.DateTime Then Return 30311                If right = TypeCode.Char Then Return 32006            End If        ElseIf (op = KS.Add OrElse op = KS.Minus) AndAlso left = TypeCode.DateTime AndAlso right = TypeCode.DateTime Then            Return 0        End If        Dim resultType As TypeCode        resultType = TypeConverter.GetBinaryResultType(op, left, right)        If resultType = TypeCode.Empty Then Return 30452        Return 0    End Function    Shared Function GetErrorNumberForConversion(ByVal tp1 As TypeCode, ByVal tp2 As TypeCode, ByVal Implicit As Boolean) As Integer        Select Case GetConversionResultType(tp1, tp2)            Case "X"c                Throw New NotImplementedException            Case "I"c                Return 0            Case "0"c                Return 0            Case "1"c                Return 30311            Case "2"c                Return 32007            Case "3"c                Return 30533            Case "4"c                Return 32006            Case "5"c                Return 30532            Case "6"c                Return 30533            Case Else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -