0
votes

Quels sont les avantages de l'utilisation du système. Diagnostics.Switch?

J'essaie d'entrer dans le système . Diagnostics Espace de noms et apprentissage à ce sujet, mais la première classe que j'essaie d'apprendre est Booleanswitch .

J'ai lu à ce sujet dans MSDN et je ne comprends pas les avantages de l'utilisation de cette bibliothèque. J'ai essayé de chercher sur Internet mais je suis confondu par ce que j'ai vu avec des mots et des phrases que je ne comprends pas comme (trace, débogage de contrôle).

Et il y a une classe de base nommée commutateur quel booleanswitch hérite de et d'une autre classe dans cet espace de noms.

Y a-t-il un site web que je puisse apprendre de l'espace de diagnostic


3 commentaires

docs.microsoft.com/en-us/dotnet/api/ System.Diagnostics.switc H est la classe de base abstraite pour les autres commutateurs. Et la première ligne de Booleanswitch est la suivante: "Fournit un simple commutateur marche / arrêt qui contrôle le débogage et la sortie de traçage."


Il n'est pas clair si vous posez des questions sur le System.Diagnostics.switch classe ou l'ensemble du système System.Diagnostics Espace de noms / montage; Le titre de la question suggère l'ancien mais des parties du corps suggèrent ce dernier. En outre, pourquoi avez-vous décidé de commencer avec la classe ? Si vous ne comprenez pas ce que c'est pour alors comment savez-vous que vous devez utiliser / l'apprendre? Qu'est-ce que tu es vraiment essayer de faire?


Mécaniquement, ces classes semblent faire peu plus encore puis mettre une enveloppe de référence autour d'un bool. Cette classe et ce sont des suivi de suivi dans le standard et le cadre d'origine avec 1,0 chacun. Un bon nombre de classes ajoutées à l'époque ont été remplacées depuis lors. En effet, jetez un coup d'œil à toutes les collections non génériques qui sont toujours autour: github.com/dotnet/platform-compat/blob/master/docs/de0006.md


3 Réponses :



0
votes

J'ai lu à ce sujet dans MSDN et je ne comprends pas ce que les avantages de l'utilisation de cette bibliothèque sont vraiment.

Les avantages de l'utilisation de cette bibliothèque sont facilement disponibles des outils de diagnostic. C'est définitivement une bibliothèque qui mérite d'être utilisée si vous cherchez à faire du débogage avec .NET.

système.diagnostics.eventlog

Ce composant fournit des fonctionnalités à écrire aux journaux d'événements, à lire les entrées de journal des événements et à créer et supprimer des journaux d'événements et des sources d'événements sur le réseau.

système.diagnostics.trace

Instrumentation vous permet de surveiller la santé de votre application en cours d'exécution dans des paramètres de vie réelle.

System.Diagnostics.stactTrace & System.Diagnostics.Stackframe

Ces classes exposeront les informations de pile sur les routines. Exemple suivant retournera le nom de la méthode d'appel.

système.diagnostics.debug

fournit un ensemble de méthodes et de propriétés qui aident à déboguer votre code. Cette classe ne peut pas être héritée. Nous sommes tous habitués à cette classe. Voici les méthodes importantes de cette classe.

système.diagnostics.debug.writeline <<< Celui-ci est grand

Vous pouvez écrire aux journaux de diagnostic, faire des traces. Celles-ci sont extrêmement importantes pour des projets complexes. Je dirais pour des projets plus simples, cela pourrait être un peu trop exclu, mais c'est certainement quelque chose que vous voulez vous familiariser de toute façon.

Presque toutes les bibliothèques vont être utiles dans un contexte. Les bibliothèques sont des travaux prédisés et les plus pertinents que vous comprenez, moins vous aurez du travail. Les bibliothèques MSFT sont généralement très bien documentées et conçues.

Si vous recherchez un bon guide débutant, ce serait un bon endroit pour commencer.

Ceci est vb.net mais l'aperçu général s'applique toujours: https://www.codeproject.com/articles/5358/beginning-system- Diagnostics

Je suis d'accord pour dire que souvent les documents du MSFT sont difficiles à comprendre et à mettre en œuvre.

Edit: Je viens de remarquer que c'est un lien VB.NET (Yuck) afin qu'il ne soit utile que pour la théorie et apprendre quelles sont les méthodes.

Le commutateur booléen choisit simplement de savoir s'il faut ou non un message d'erreur ou non. Cela pourrait être utile dans certaines situations où une exception n'est pas lancée, mais votre code a remarqué une erreur dans les données ou un autre chemin de code a déclenché une situation où vous souhaitez écrire sur le journal de débogage.

Je ne pense pas que ce soit aussi utile que l'espace de noms général. Cela pourrait être utile dans certaines situations de niche, mais quel que soit le commutateur; Vous voudrez apprendre cet espace de noms quand même.


0 commentaires

0
votes

comme Hexagod dit , la prestation est que c'est une interface standard.

Pour adresse interrupteur et booleanswitch spécifiquement, ils sont un moyen de définir une valeur de configuration nommée que vous pouvez définir avec le fichier .config de l'application. Vous pouvez avoir system.diagnostic.trace.writnetif () * appelle (ou similaire) conditionnel sur un tel drapeau afin de ne pas normalement rien faire, mais peut être "allumé" en modifiant le fichier de configuration . (Donc, toutes les fonctionnalités de diagnostic seront présentes dans l'exécutable libéré mais inactive, sauf si vous en avez besoin.)

Ceci est très similaire à l'utilisation de Propriétés.Settings dans le même but (fichier .config en action), sauf que vous définissez les propriétés possibles différemment et ils vont dans une section différente - < code> au lieu de - et devez être configuré manuellement (il n'y a pas d'équivalent à propriétés.Settings.default.save () pour ceux-ci).

https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/how-to-create-Initialize-and-configure-trace-switches est un Bit plus descriptif que la documentation pour les classes .

* Je référencie system.diagnostic.trace au lieu de system.diagnostic.debug ici parce que je pense que c'est mieux dans le but. Ils sont surtout les mêmes sauf les appels aux méthodes de Débogou seront supprimés lorsque vous compilez un exécutable de libération pendant que des appels vers des méthodes de Trace seront laissées dans le but Ne faites rien sauf si vous vous configuriez où écrire dans le fichier .config.


0 commentaires