concernant le mot-clé code> statique code>. p>
Jusqu'à ce point, via mes propres recherches, j'ai une idée générale de ce que le mot clé code> statique code> est, mais je pense que toutes ces descriptions et détails différentes ne m'ont plus confondu plus. Pour le moment, je ne pense vraiment pas que je sache comment utiliser correctement " Tout en lisant l'article MSDN Statique (Visual Basic) em>, de nombreuses questions sont apparues, en particulier lorsque j'ai lu cette phrase: P>
Normalement, une variable locale dans une procédure cesse d'exister dès que la procédure se termine. Un est la version VB.NET de si Quels sont les bons scénarios où utiliser statique code>"; Il semble être utilisé différemment entre c # et vb.net et s'applique différemment dans la langue en fonction de ce que vous utilisez ... p>
statique code> varie reste existant et conserve sa valeur la plus récente. P>
blockQuote>
statique code> identique à c # ou java, est le concept identique à la plupart des langues? p> li>
statique code> conserve une valeur dans une classe et nous sommes en mesure d'accéder à ce membre, fonctionner sans instantiquer la classe, est-ce sûr à utiliser lâchement? En d'autres termes, devrions-nous garder un œil étroit lors de l'utilisation de
statique code> dans des classes? Ils me rappellent des variables mondiales pour une raison quelconque. Peut-être que je suis juste ignorant ici et j'ai simplement besoin de plus de pratique pour comprendre leur but. P> li>
statique code> avantages et favorise la réutilisabilité du code? P> LI>
ol>
3 Réponses :
in c # Le mot clé code> statique code> est identique au mot clé code> partage code> dans vb.net . Nommément, de Cours statiques et classe statique Membres (Guide de programmation C #) em>: p>
Les classes statiques et les membres de la classe sont utilisés pour créer des données et des fonctions
qui peut être consulté sans créer une instance de la classe. P>
blockQuote>
in vb.net Je ne sais pas s'il y a un équivalent C # pour ce comportement. P>
1) strong> est la version vb.net de statique identique à c # ou java, et est le concept
la même chose pour la plupart des langues? P>
C'est différent. Soyez très prudent, ils sont globaux au domaine de l'application. P>
3) strong> Quels sont les bons scénarios où en utilisant des avantages statiques et favorise
Réutilisabilité du code? P>
J'utilise des listes statiques aux fichiers de cache de données utilisées pour peupler des listes déroulantes afin que je n'ai pas à continuer de frapper SQL Server comme exemple. p>
statique code> fonctionne très différemment, car s'applique aux variables, pas de types. strong> p>
partagé code> est le même, cependant. p>
Merci pour une réponse aussi rapide et détaillée Vershailer, cela a vraiment aidé à comprendre ce concept.
partagé code> est le même Comme C # 'S statique code>. C # statique code> est à peu près la même chose que statique en Java et la plupart des autres langues. Les concepts portent. Li>
- Ceci est un oui et sans type de question. Vous ne voulez pas simplement lancer au hasard
statique code> S sans savoir ce que vous faites. Cependant, ils peuvent être utiles à de nombreuses situations (plus sur cela à la n ° 3). Ils ne ressemblent pas vraiment à des variables globales car elles sont toujours "nomées" et organisées par la classe, elles appartiennent à. Li>
- Les membres statiques sont généralement utilisés pour les méthodes d'utilité et les classes. Par exemple, C # implémente la majeure partie de la bibliothèque de mathématiques en tant que méthodes statiques, car elles ne font que des calculs et n'ont pas d'autres effets secondaires. En règle générale, si votre méthode n'a pas d'effets secondaires et que toutes les données nécessaires pour faire son travail sont sous forme de paramètres. Vous pouvez également utiliser des propriétés statiques si vous souhaitez partager certaines données entre les instances d'une classe (par exemple, suivre le nombre de fois qu'une méthode donnée a été appelée, ou quelque chose de similaire). Static a également des avantages d'utilisation de la mémoire, car cela vous permet de créer une seule instance d'une classe ou d'une méthode à partager tout au long de l'application, plutôt que de créer de nouvelles copies pour chaque utilisation. Vous utilisez également des classes statiques pour des méthodes de vulgarisation, mais c'est une autre discussion. Li>
- Vous n'avez pas demandé spécifiquement, mais il convient de mentionner les inconvénients. La plus grande raison d'éviter les statiques est la maintenabilité. Vous ne pouvez pas hériter ou étendre facilement des cours statiques, ce qui est une chose majeure à laquelle réfléchir. Tant que vous vous en tenez à la composition sur la règle d'héritage, ce n'est pas nécessairement un daqueur de négociation, mais le manque d'héritage et de polymorphisme pour les classes statiques est un inconvénient majeur. Que l'une seule question conduit à beaucoup de gens à suggérer d'éviter de statique dans tous les cas. Li>
ol>
Excellente explication détaillée! Merci beaucoup Tim, cela a vraiment effacé beaucoup. :)
Les autres réponses traitées avec les usages C # de statiques, donc je parlerai de static code> dans vb.net depuis que vous avez référencé un article MSDN à ce sujet. Lorsque vous effectuez une variable locale statique dans VB.NET, le compilateur traduira la variable niveau de classe em> qui ne peut être référencée que par code dans la fonction dans laquelle la variable est déclarée au code. Si ladite variable est une instance ou partagée dépend de la fonction contenant. Par exemple, ce code:
Public Class StaticTest
' Methods
<DebuggerNonUserCode> _
Public Sub New()
End Sub
Public Function Process(ByVal value As Integer) As Integer
If (value > 0) Then
Dim result As Integer = value
Me.$STATIC$Process$20188$lastValue = value
Return result
End If
Return Me.$STATIC$Process$20188$lastValue
End Function
' Fields
Private $STATIC$Process$20188$lastValue As Integer
End Class