Toutoune DevZone

.NET (C#)

January 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 ;)