2012-05-09 5 views
3

Je connais la liste déroulante qui montre toutes les méthodes parmi beaucoup d'autres choses dans une classe mais je fais un organigramme et pour cela j'ai besoin d'une liste comme dans text de toutes les méthodes d'une classe. Comment puis-je obtenir cette liste parce qu'actuellement je suis en train de copier manuellement les noms des méthodes dans une liste qui est si gênante que j'ai des méthodes 600ish ...Visual studio Liste des noms de méthodes dans une classe

Répondre

5

Utilisez le menu Refactor de Visual Studio et choisissez Extract Interface. Refactor->Extract Interface on MSDN for Visual Studio 2008.

enter image description here

Cliquez sur le bouton Sélectionner tout, puis cliquez sur OK. Cela va créer un nouveau fichier dans votre projet pour vous. enter image description here

Vous pouvez ensuite copier et coller selon vos besoins.

enter image description here

Assurez-vous de revenir à votre classe et supprimer le code de mise en œuvre de l'interface.

+0

Je n'ai pas downvote vous .... – Bulvak

+1

Je pense que c'est une façon agréable et rapide (et sale;) de le faire.Avec un système de contrôle de la source, vous pouvez facilement annuler les modifications effectuées. Donc +1 par moi ... – eFloh

+0

J'aime celui-ci trop simple et facile à réutiliser pour de futurs programmes. – Bulvak

1

Vous pouvez utiliser la réflexion pour obtenir la liste de toutes les méthodes, propriétés etc puis écrivez-les sur la console ou dans un fichier.

Eh bien, par exemple, si vous voulez obtenir toutes les méthodes statiques publiques dans une classe que vous feriez ceci:

// get all public static methods of MyClass type 
MethodInfo[] methodInfos = typeof(MyClass).GetMethods(BindingFlags.Public | 
                 BindingFlags.Static); 
// sort methods by name 
Array.Sort(methodInfos, 
     delegate(MethodInfo methodInfo1, MethodInfo methodInfo2) 
     { return methodInfo1.Name.CompareTo(methodInfo2.Name); }); 

// write method names 
foreach (MethodInfo methodInfo in methodInfos) 
{ 
    Console.WriteLine(methodInfo.Name); 
} 

La réflexion est une façon dont un système peut interroger, lors de l'exécution, les types d'objets et les méthodes et les propriétés exposées par ces objets.

Dans votre cas, vous ne voulez pas seulement tout public et statique, mais toutes les méthodes. Donc, vous feriez le changement approprié au code ci-dessus pour l'obtenir.

+1

réflexion? Qu'est-ce que c'est? – Bulvak

+0

"La réflexion fournit des objets (de type Type) qui encapsulent des assemblages, des modules et des types.Vous pouvez utiliser la réflexion pour créer dynamiquement une instance d'un type, lier le type à un objet existant ou obtenir le type d'un objet existant. Si vous utilisez des attributs dans votre code, Reflection vous permet d'y accéder.Pour plus d'informations, voir Attributs. " - http://msdn.microsoft.com/en-us/library/ms173183(v=vs.80).aspx –

+0

Je place ce segment de code dans mon code et je reçois beaucoup d'erreurs, mon application est un Windows Formulaire d'application est-ce un problème ou est-ce que je place ce code dans un mauvais endroit? J'ai mis ce code au bas de mon code juste au-dessus du dernier accolade de fermeture – Bulvak

0

Extrêmement en retard à la fête, mais c'est un moyen sans jouer avec le code.

  • Utilisez un outil Disassmbly comme Telerik JustDecompile.
  • Recherchez et ouvrez l'assembly contenant votre code.
  • Naviguez jusqu'au type sélectionnez le désassemblage dans la fenêtre de texte.
  • Avec cela, utilisez un éditeur de texte comme Notepad++ au format /nettoyer le texte.
Questions connexes