Toutoune DevZone

.NET (C#)

janvier 2008 - Messages

Obtenir le Namespace par défaut d'un projet (dans un Addin Visual Studio 2005)

Bon, vu le temps que j'ai passé à trouver l'infos, je la partage avec vous !
Dans la msdn (http://msdn2.microsoft.com/fr-fr/library/1c02s1da.aspx), on peut trouver l'exemple suivant :

To find the default namespace for your project

  • Test the top-level code elements of the project. Any code element that is a CodeType returns the CodeNamespace element for the project.

    Visual Basic
    Sub FindDefaultNamespace()
       Dim cm As CodeModel
       cm = DTE.Solution.Projects.Item(1).CodeModel
    
       Dim ce As CodeElement
       Dim ct As CodeType = Nothing
       Dim defNameSpace As CodeNamespace
       For Each ce In cm.CodeElements
          If TypeOf ce Is CodeType Then
             ct = CType(ce, CodeType)
             defNameSpace = ct.Namespace
          End If
       Next
    
       If Not IsNothing(defNameSpace) Then
          MsgBox(defNameSpace.Name)
       End If
    End Sub

... Mais cela ne marche pas chez moi. Aucun élément de CodeElements n'est du type "CodeType". Du coup voici la bonne méthode :

(C#)
(string) _applicationObject.SelectedItems.Item(1).Project.Properties.Item("DefaultNamespace").Value

En espérant que cela vous soit aussi utile qu'à moi ;)