Qu'est-ce qui en fait une mauvaise pratique d'utiliser des mots-clés statiques lors de la définition d'une méthode en C #?
Je sais que avec statique code> nous pouvons accéder directement à la fonction de la classe sans créer une instance de la classe. Mais quand nous ne devrions pas utiliser static? P>
3 Réponses :
Il existe une explication complète pour l'utilisation de la propriété "statique" ici par Microsoft. P>
Dans l'expérience d'un cadre Web (.NET Noyau pour cela) Par exemple, nous utilisons une déclaration statique pour les valeurs primitives qui ne nécessiteront aucun changement. P>
Une méthode qui n'accède à aucune instance ne doit pas être marquée comme Si la méthode accède à toutes les données d'instance, il ne peut pas em> statique. Le compilateur applique ceci. P>
Des exemples courants de méthodes statiques sont par exemple statique code>: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822-mark-Members- AS-static? View = vs-2017 Il pourrait toujours être déclaré comme une méthode de
privée code> en fonction de l'utilisation. P>
string.format code> et
int32.parse code>. Il n'a aucun sens d'allouer une chaîne code> ou un
int code> avant d'appeler ces méthodes. P>
Vous créez une méthode statique lorsque vous n'avez pas besoin de la méthode pour accéder à l'un des éléments non statiques de votre classe. Par exemple, prenez en compte Plus d'info: P>
https://www.codeproject.com / Questions / 1208992 / Quand on utilise-user-static-méthodes-Csharp p>
https://hackernoon.com/c-static -vs-instance-Classes-and-Méthodes - 50FE8987B231 P> denttime.parse code> méthode. Vous pouvez créer une instance de
DateTime code> comme d'habitude, mais si vous avez besoin d'analyser une date spécifique, vous pouvez appeler
denttime.parse code> pour renvoyer une DateTime valide sans créer un
DateTime code> instance en soi. Cette méthode n'accumule aucun élément spécifique de la classe DateTime, il est déclaré comme
statique code> p>
Si la méthode n'a pas besoin d'accéder à des membres instance i>, vous devez le définir comme
statique code>. Il pourrait toujours être déclaré comme une méthode
privée code>.
Mais lorsque nous ne devrions pas utiliser static? Code> Lorsque vous souhaitez pouvoir vous moquer de le module pour le test de l'unité est un exemple. SoftwareEngineering.stackexchange.com/questions/5757/...