Question

En C #, existe-t-il un moyen de mettre une variable statique dans une méthode telle que VB.Net?

Static myCollection As Collection
Était-ce utile?

La solution

  

Pourquoi C # ne prend-il pas en charge la méthode statique   variables?

     

Q: En C ++, il est possible d’écrire un   variable de méthode statique, et ont un   variable accessible uniquement   de l'intérieur de la méthode. C # ne le fait pas   fournir cette fonctionnalité. Pourquoi?

     

R: Il y a deux raisons pour lesquelles C # ne le fait pas   avoir cette fonctionnalité.

     

Tout d’abord, il est possible d’avoir presque   le même effet en ayant un   statique de niveau classe et méthode d'ajout   la statique nécessiterait une augmentation   complexité.

     

Deuxièmement, la statique au niveau de la méthode est   un peu notoire pour causer   problèmes lorsque le code est appelé   à plusieurs reprises ou à partir de plusieurs threads,   et puisque les définitions sont dans le   méthodes, il est plus difficile de trouver le   définitions.

     

- msdn c # faq

Autres conseils

Non, il n'y en a pas, mais en quoi est-ce différent d'avoir une variable statique au niveau de la classe?

En fait, si vous regardez comment le partage est implémenté, il s'agit d'un compilateur astuce qui crée un champ statique sur la classe.

La chose la plus proche de de VB.NET Static consiste à créer un champ dans le type actuel. Autre que cela, C # n’a pas d’équivalent.

Non, le CLR ne le supporte pas et VB.NET a recours aux astuces du compilateur pour le permettre. Ugh.

Je suis presque sûr que l'équivalent C # est const : donc:

public const Collection myCollection = new Collection();

Je ne suis pas trop familier avec VB.NET, je pourrais donc être en dehors de la base, mais cela vous permettra de définir une variable qui ne peut pas être modifiée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top