Pergunta

Em C #, há uma maneira de colocar uma variável estática em um método como VB.Net?

Static myCollection As Collection
Foi útil?

Solução

Por que não C # método estático apoio variáveis?

Q: Em C ++, é possível escrever um variável método estático, e ter um variável que só pode ser acessado do interior do método. C # não fornecer esse recurso. Por quê?

A: Há duas razões C # não têm esta característica.

Em primeiro lugar, é possível obter quase o mesmo efeito por ter um estática em nível de classe e método de adicionar estática que exigem maior complexidade.

Em segundo lugar, a estática nível método são um pouco notório para causar problemas quando o código é chamado ou repetidamente a partir de vários segmentos, e uma vez que as definições estão no métodos, é mais difícil de encontrar o definições.

- MSDN c # faq

Outras dicas

Não, não é, mas como isso é diferente, então ter uma variável estática no nível de classe?

Na verdade, se você olhar em como compartilhado é implementado, é um compilador truque que cria um campo estático na classe.

A coisa mais próxima de VB.NET é Static é criar um campo no tipo atual. Diferente do que C # não tem equivalente.

Não, o CLR não suporta isso, e VB.NET recorre a truques compilador para permitir isso. Ugh.

Eu tenho certeza que o C # equivalente é const; por isso:

public const Collection myCollection = new Collection();

Eu não estou muito familiarizado com VB.NET, para que eu pudesse estar fora da base, mas que permitirá que você definir uma variável que não pode ser alterado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top