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

📄 modifiers.vb

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 VB
字号:
' ' 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 Structure Modifiers    Private m_ModifierMask As ModifierMasks    Overloads Shared Function IsKS(ByVal KS As KS, ByVal Mask As ModifierMasks) As Boolean        If KS > KS.WriteOnly Then Return False        Dim modifier As ModifierMasks = KSToMask(KS)        Return (modifier And Mask) = modifier    End Function    Shared Function KSToMask(ByVal Modifier As KS) As ModifierMasks        Return CType(1 << Modifier, ModifierMasks)    End Function    ReadOnly Property Empty() As Boolean        Get            Return m_ModifierMask = 0        End Get    End Property    Sub New(ByVal Mask As ModifierMasks)        m_ModifierMask = Mask    End Sub    Sub New(ByVal Modifiers As Modifiers)        m_ModifierMask = Modifiers.m_ModifierMask    End Sub    ReadOnly Property Mask() As ModifierMasks        Get            Return m_ModifierMask        End Get    End Property    ''' <summary>    ''' Adds a modifier to the list if the modifier isn't there already.    ''' </summary>    ''' <param name="Modifier"></param>    ''' <remarks></remarks>    Public Sub AddModifier(ByVal Modifier As KS)        m_ModifierMask = m_ModifierMask Or KSToMask(Modifier)    End Sub    ''' <summary>    ''' Adds a modifier to the list if the modifier isn't there already.    ''' </summary>    ''' <param name="Modifier"></param>    ''' <remarks></remarks>    Public Sub AddModifiers(ByVal Modifier As ModifierMasks)        m_ModifierMask = m_ModifierMask Or Modifier    End Sub    ''' <summary>    ''' Returns true if the modifier Publis is set, or any other modifiers (Private, Friend, Protected)     ''' is not set.    ''' </summary>    ''' <value></value>    ''' <returns></returns>    ''' <remarks></remarks>    ReadOnly Property IsPublic() As Boolean        Get            Dim mask As ModifierMasks = ModifierMasks.AccessModifiers            Return mask = ModifierMasks.Public OrElse mask = 0        End Get    End Property    ReadOnly Property AccessibilityMask() As ModifierMasks        Get            Return m_ModifierMask And (ModifierMasks.Public Or ModifierMasks.Private Or ModifierMasks.Friend Or ModifierMasks.Protected)        End Get    End Property    ReadOnly Property [Is](ByVal Modifier As ModifierMasks) As Boolean        Get            Return (m_ModifierMask And Modifier) = Modifier        End Get    End Property    ReadOnly Property IsAny(ByVal Modifier As ModifierMasks) As Boolean        Get            Return (m_ModifierMask And Modifier) > 0        End Get    End Property    Function GetMethodAttributeScope() As MethodAttributes        If Me.Is(ModifierMasks.Public) Then            Return MethodAttributes.Public        ElseIf Me.Is(ModifierMasks.Friend) Then            If Me.Is(ModifierMasks.Protected) Then                Return MethodAttributes.FamORAssem            Else                Return MethodAttributes.Assembly            End If        ElseIf Me.Is(ModifierMasks.Protected) Then            Return MethodAttributes.Family        ElseIf Me.Is(ModifierMasks.Private) Then            Return MethodAttributes.Private        Else            Return MethodAttributes.Public        End If    End Function    Function GetFieldAttributeScope(ByVal TypeDeclaration As TypeDeclaration) As Reflection.FieldAttributes        If Me.Is(ModifierMasks.Public) Then            Return Reflection.FieldAttributes.Public        ElseIf Me.Is(ModifierMasks.Friend) Then            If Me.Is(ModifierMasks.Protected) Then                Return Reflection.FieldAttributes.FamORAssem            Else                Return Reflection.FieldAttributes.Assembly            End If        ElseIf Me.Is(ModifierMasks.Protected) Then            Return Reflection.FieldAttributes.Family        ElseIf Me.Is(ModifierMasks.Private) Then            Return Reflection.FieldAttributes.Private        ElseIf Me.Is(ModifierMasks.Dim) OrElse Me.Is(ModifierMasks.Const) Then            If TypeOf TypeDeclaration Is StructureDeclaration Then                Return FieldAttributes.Public            Else                Return FieldAttributes.Private            End If        Else            Return FieldAttributes.Private        End If    End FunctionEnd Structure

⌨️ 快捷键说明

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