質問
C#では、VB.Netなどのメソッドに静的変数を配置する方法はありますか?
Static myCollection As Collection
解決
C#が静的メソッドをサポートしない理由 変数?
Q:C ++では、次のように書くことができます。 静的メソッド変数、および アクセスのみが可能な変数 メソッド内から。 C#はしません この機能を提供します。なぜですか?
A:C#がそうしない2つの理由があります この機能があります。
まず、ほぼ取得することが可能です 持つことで同じ効果 クラスレベルの静的、およびメソッドの追加 静力学は増加する必要があります 複雑さ。
第二に、メソッドレベルの統計は 原因としてやや悪名高い コードが呼び出されたときの問題 繰り返しまたは複数のスレッドから、 そして、定義は メソッド、それを見つけるのは難しいです 定義。
他のヒント
いいえ、違いはありませんが、クラスレベルで静的変数を使用する場合の違いは何ですか?
実際に共有の実装方法を見ると、コンパイラーです。クラスに静的フィールドを作成するトリック。
VB.NETの Static
に最も近いものは、現在のタイプでフィールドを作成することです。それ以外のC#には同等のものはありません。
いいえ、CLRはこれをサポートしていません。VB.NETはそれを許可するためにコンパイラーのトリックに頼っています。うーん。
C#に相当するものはconst
であると確信しています:したがって:
public const Collection myCollection = new Collection();
VB.NETにあまり慣れていないので、ベースから離れることもできますが、変更できない変数を設定できます。
所属していません StackOverflow