質問

C#では、VB.Netなどのメソッドに静的変数を配置する方法はありますか?

Static myCollection As Collection
役に立ちましたか?

解決

  

C#が静的メソッドをサポートしない理由   変数?

     

Q:C ++では、次のように書くことができます。   静的メソッド変数、および   アクセスのみが可能な変数   メソッド内から。 C#はしません   この機能を提供します。なぜですか?

     

A:C#がそうしない2つの理由があります   この機能があります。

     

まず、ほぼ取得することが可能です   持つことで同じ効果   クラスレベルの静的、およびメソッドの追加   静力学は増加する必要があります   複雑さ。

     

第二に、メソッドレベルの統計は   原因としてやや悪名高い   コードが呼び出されたときの問題   繰り返しまたは複数のスレッドから、   そして、定義は   メソッド、それを見つけるのは難しいです   定義。

     

- msdn c#faq

他のヒント

いいえ、違いはありませんが、クラスレベルで静的変数を使用する場合の違いは何ですか?

実際に共有の実装方法を見ると、コンパイラーです。クラスに静的フィールドを作成するトリック。

VB.NETの Staticに最も近いものは、現在のタイプでフィールドを作成することです。それ以外のC#には同等のものはありません。

いいえ、CLRはこれをサポートしていません。VB.NETはそれを許可するためにコンパイラーのトリックに頼っています。うーん。

C#に相当するものはconstであると確信しています:したがって:

public const Collection myCollection = new Collection();

VB.NETにあまり慣れていないので、ベースから離れることもできますが、変更できない変数を設定できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top