Voir HOWTO: Navigate the code elements of a file from a Visual Studio .NET macro or add-in Un HOWTO: Navigate the files of a solution from a Visual Studio .NET macro or add-in serait peut-être intéressant pour vous.
Obtenir l'accessibilité des fonctions est facile. Après le premier article, vous avez l'objet CodeElement. S'il est de type CodeFunction, vous pouvez le convertir en codeFunction (ou aussi en CodeFunction2). La fonction CodeFunction contient de nombreuses propriétés, y compris Access, ce dont vous avez besoin. Je l'ai modifié ShowCodeElement de cet article il montre que les fonctions et affiche également leur accessibilité:
Private Sub ShowCodeElement(ByVal objCodeElement As CodeElement)
Dim objCodeNamespace As EnvDTE.CodeNamespace
Dim objCodeType As EnvDTE.CodeType
Dim objCodeFunction As EnvDTE.CodeFunction
If TypeOf objCodeElement Is EnvDTE.CodeNamespace Then
objCodeNamespace = CType(objCodeElement, EnvDTE.CodeNamespace)
ShowCodeElements(objCodeNamespace.Members)
ElseIf TypeOf objCodeElement Is EnvDTE.CodeType Then
objCodeType = CType(objCodeElement, EnvDTE.CodeType)
ShowCodeElements(objCodeType.Members)
ElseIf TypeOf objCodeElement Is EnvDTE.CodeFunction Then
Try
Dim msg As String = objCodeElement.FullName & vbCrLf
Dim cd As EnvDTE.CodeFunction = DirectCast(objCodeElement, CodeFunction)
Select Case cd.Access
Case vsCMAccess.vsCMAccessDefault
msg &= "Not explicitly specified. It is Public in VB and private in C#."
Case Else
msg &= cd.Access.ToString
End Select
MsgBox(msg)
Catch ex As System.Exception
' Ignore
End Try
End If
End Sub
changer et exécuter ShowFileCodeModel macro alors.
Merci pour le partage, j'ai mis à jour la question s'il vous plaît, jetez un oeil. –
J'ai mis à jour la réponse –