3

該当する場合は常に「using」というキーワードを使用する必要があるため、それを使用したいと思いました。問題は、USING を使用できるオブジェクトをどのように知ることができるかということです。

4

4 に答える 4

1

実装するオブジェクトは、コンストラクトIDisposableで使用できます。using

クラスのドキュメント、コードでの定義を表示するか、Visual Studio のオブジェクト エクスプローラーを使用して、実装されているインターフェイスを見つけることができます。

IDisposableまた、ブロックに実装されていない型を使用しようとするとusing、コンパイラは警告を発します。これは、疑わしい場合はいつでも試すことができることを意味します。コンパイラが文句を言う場合は、使用しないでくださいusing。ただし、使用するオブジェクトを常に認識し、それIDisposableに応じて処理する必要があります。

の主な目的はIDisposable(他のものに使用 (および誤用) されているのを見てきましたが)、管理されていないリソースのタイムリーな割り当て解除を確実にすることです。ここで使用されているアンマネージド リソースとは、ハードウェア デバイス ハンドル、ファイル、ストリーム、接続などのことです。GC を待つのではなく、リソースの使用が終了するとすぐに確実に破棄されるようにしたいものはすべて、キックインする。

于 2012-08-16T14:17:49.270 に答える
1

FxCopCodeRushなどのツールを使用して、実装しているオブジェクトでDispose/useを呼び出さないコードを特定できます。この場合、彼らはあなたに警告します。usingIDisposable

また、Visual Studio では、オブジェクト ブラウザーを使用して、どの型が を実装しているかを確認できますIDisposable

ここに画像の説明を入力

于 2012-08-16T14:26:16.860 に答える
0

ほとんどの場合、実装するクラスはブロックIDisposable内で使用することをお勧めします。using

クラスが を実装しているかどうかを確認するには、そのIDisposable定義を確認するだけです。FXCop などのコード スタイル分析ツールも、IDiposable実装が正しく破棄されていない場合に警告を発します。

于 2012-08-16T14:18:06.383 に答える
-1

を実装するすべてのクラスのローカル インスタンスに使用しますIDisposable。彼らにはDispose方法があります。

于 2012-08-16T14:18:05.590 に答える