Variables estáticas en C #
-
20-08-2019 - |
Pregunta
En C #, ¿hay alguna manera de poner una variable estática en un método como VB.Net?
Static myCollection As Collection
Solución
¿Por qué C # no admite el método estático? variables?
P: En C ++, es posible escribir un método estático variable, y tener un variable a la que solo se puede acceder desde dentro del método. C # no Proporcionar esta característica. ¿Por qué?
A: Hay dos razones por las que C # no tener esta característica.
Primero, es posible obtener casi el mismo efecto al tener un estática a nivel de clase y método de adición la estática requeriría un aumento complejidad.
Segundo, las estadísticas de nivel de método son algo notorio por causar problemas cuando se llama código repetidamente o de múltiples hilos, y dado que las definiciones están en el métodos, es más difícil encontrar el definiciones.
Otros consejos
No, no lo hay, pero ¿en qué se diferencia esto de tener una variable estática a nivel de clase?
En realidad, si observa cómo se implementa lo compartido, es un compilador truco que crea un campo estático en la clase.
Lo más parecido a de VB.NET Estático
es crear un campo en el tipo actual. Aparte de eso, C # no tiene equivalente.
No, el CLR no admite esto, y VB.NET recurre a trucos de compilación para permitirlo. Ugh.
Estoy bastante seguro de que el equivalente de C # es const
: por lo tanto:
public const Collection myCollection = new Collection();
No estoy muy familiarizado con VB.NET, por lo que podría estar fuera de la base, pero eso le permitirá establecer una variable que no se puede cambiar.