2010-02-03 5 views
1

En développant Java avec Eclipse, il est facile de déplacer des variables d'une classe à une autre et de mettre à jour les références. (Donc, si vous vous déplacez size d'être une variable de classe à une classe nommée Constants, toute référence à size dans la classe d'origine sera remplacé par Constants.size automatiquement.)Visual Studio: Équivalent du mouvement variable d'Eclipse?

Est-il possible de le faire en C# XNA Visual Studio 2010 ?

+0

Re: pourquoi ce refactoring n'est pas C# -y. Je suppose que vous le savez, mais les conteneurs statiques pour les valeurs sont généralement une mauvaise idée. Prenez votre exemple d'une classe de constantes, vous avez probablement des valeurs comme Size, AdminUserName, LogfileName - toutes les valeurs qui sont utilisées dans des contextes complètement différents, alors pourquoi sont-ils dans la même classe? Avant de le savoir, vous avez construit une dépendance entre toutes vos classes et vos constantes. Il vaudrait mieux injecter ces valeurs à travers le constructeur ou au moins les définir dans les classes qui les utilisent réellement (ou une classe de base). –

Répondre

0

Le Devexpress RefactorPro! plugin a des refactorings similaires (mais je ne pense pas que celui-ci exact). Je pense ils sont même tous disponibles dans la version gratuite. Si vous en voulez un qui n'est pas disponible, vous pouvez consulter la page gratuite des plugins DxCore ou en créer un vous-même. Ce n'est pas si difficile.

Tous les liens sont sur le DxCore community plugins page. Oh mais, pour répondre à votre question très spécifiquement non, je n'ai jamais entendu parler de ce refactoring exact étant disponible n'importe où - il n'est généralement pas vu comme CSharp-y.

+0

Pouvez-vous expliquer pourquoi ce n'est pas C# -y? Je suis nouveau à la langue, mais j'ai beaucoup d'expérience avec Java. –

0

La variable de déplacement n'est pas l'une des opérations de refactoring prises en charge par C# dans la boîte de Visual Studio 2010 (ou 2008/2005). Afin d'obtenir ce type d'opération, vous devrez utiliser un plugin tiers tel que Resharper ou RefExpress Pro de DevExpress.

Questions connexes