0

Visual Studio a la gentillesse de générer beaucoup de code lorsque nous créons et concevons des contrôles Windows.Forms. Il entoure également la plus grande partie avec une instruction #region. Dans les versions plus récentes, il utilise également une classe partielle pour séparer généré à partir du code créé manuellement. Les développeurs sont censés modifier le code uniquement dans certaines zones.Comment reconnaître le code généré par le concepteur graphique de Visual Studio?

Mais rien ne nous empêche de violer cela comme bon nous semble. Je vais bien avec les modifications manuelles qui pourraient tout aussi bien avoir été faites à partir du concepteur, ou les modifications manuelles dans les zones que le concepteur ne touche pas. Mais je voudrais signaler tout autre type de modification.

Est-ce que quelqu'un connaît un utilitaire qui peut faire cela? Règles de StyleCop peut-être? J'en ai surtout besoin pour la combinaison de C#, Windows.Forms et Visual Studio 2003, 2005 et 2008.

Répondre

2

De nos jours, le code du designer devrait se retrouver dans un fichier .Designer.cs. Il devrait être très rare que les développeurs doivent y toucher. Malheureusement, je ne connais aucun moyen de vérifier que le code a été réellement généré par le concepteur. Ce serait pratique si elle comprenait une sorte de hachage, mais pas autant que je sache ...

Étant donné qu'il est maintenant facile de dire «ne pas éditer les fichiers du designer» vraiment besoin d'un autre système cependant? Ce n'est pas comme si vous deviez rester à l'écart des régions spécifiques - c'est le fichier entier qui est hors limites.

+0

À l'exception de la méthode Dispose, à laquelle vous devrez peut-être ajouter du code pour disposer des objets non-UI dans votre classe – thecoop

+0

thecoop: Non, n'ajoutez pas de code. Vous allez le perdre. Déplacez le Dispose() sur le cs principal en premier. Mais oui, c'est un cas particulier. –

+0

Vous ne semblez pas comprendre la question. Le but du système n'est pas de fournir une * alternative * à dire à develoeprs de ne pas toucher le fichier Designer.cs, c'est de vérifier s'ils * écoutent *. – reinierpost

1

Pourquoi les développeurs ne devraient-ils pas être autorisés à changer ce code? S'ils sont capables d'écrire du code qui fonctionne, ils devraient être autorisés à le faire. S'ils ne sont pas capables d'écrire du code qui fonctionne, disons qu'ils devraient être entraînés ou renvoyés.

Il suffit d'étendre la signification de "ça marche" à "ça marche à l'exécution ainsi que dans le concepteur". Alors, qu'est-ce qui ne va pas?

Les concepteurs de gui d'aujourd'hui ne sont pas très restrictifs et font un bon travail dans la «compréhension» du code qui a été écrit par un humain.


Il y a aussi réel code généré autour, pour le code exemple généré par une spécification XML, les ressources, etc. Ce code est généré lors de la construction, alors quand il avait été changé, ces modifications sont annulées lorsque l'application est construit.

Les concepteurs ne sont pas réels générateurs de code de ce genre. Ils sont une sorte d '"aide au codage", aidant le développeur à écrire du code plus rapidement puis en le tapant. Mais il devrait être possible d'écrire le même type de code manuellement, bien que se limiter aux capacités des concepteurs .

+0

Oui, et je veux vérifier si cette décision est respectée. – reinierpost