C#
にあるすべてのクラスを検索しようとしましたが、これはClose()
です。例えば、Socket
,StreamReader
,StreamWriter
クラスのC#
には、リソースを閉じるためのClose()
メソッドが含まれています。さらに、私はいくつかのクラスがIDisposable
を実装していることに気づいた。 Dispose()
を含むクラスにはClose()
も含まれます。Close()メソッドを実装するC#のすべてのクラスを調べますか?
-3
A
答えて
1
tryで初期化したクラスがIDisposableを実装し、Disposeを呼び出してそのアンマネージリソースを再利用するコードがないことを伝えようとしています。 IDisposableを実装するクラスは、効果的に "明示的にクリーンアップする必要がある"ことを通知します。それは.Netの非常に一般的なパターンです。あなたが何か行うことができ
:
SomeClassThatImplementsIDisposable x = null;
try
{
x = new SomeClassThatImplementsIDisposable();
//--> call methods on x...
}
finally
{
x.Dispose();
}
を...しかし、何をはるかに一般的ですがusing
ブロックを使用することです:
using (var x = new SomeClassThatImplementsIDisposable())
{
//--> call methods on x...
}
...構築するためのコンパイラを引き起こしtry/finally
あなたの使用ブロックからブロックしてください。
だから、あなたが心配するべきであるClose
メソッドではありません。ルール違反を取得したら、上記の2つのうちの1つを実行する必要があります。
さらに、のメソッドを持つすべてのクラスを気にする必要はありません。あなたは静的分析を実行するだけで済みます。それは、あなたが物事をきれいにしていない時を教えてくれます。あなたは最終的にこのパターンに非常に精通します。
関連する問題
- 1. クラス内のすべてのメソッドを実行するC#
- 2. カルマユニットテスト - コンポーネントが実装する抽象クラスを調べる
- 3. クラスのすべてのメソッドの前にメソッドを実行する
- 4. どのクラスがメソッドを呼び出すかを調べる
- 5. ジェネリックインターフェイスのインスタンスを実装するすべてのクラスをインスタンス化
- 6. インターフェイスを実装するすべてのクラスを呼び出す
- 7. Eclipse:すべての実装クラスのオーバーライドを変更する
- 8. インターフェイスを実装するすべてのクラスを取得できますか?
- 9. すべてのインターフェイスメンバーを実装する
- 10. C/C++ライブラリでどのメソッドを* NIXにリンクするのかを調べる
- 11. サブクラスのすべてのメソッドを実装していない
- 12. すべてのC++実装にC++標準ライブラリ関数とクラスが含まれていますか?
- 13. すべてのインターフェイスメソッドを実装していないクラス
- 14. すべてのクラスに実装するBsonIgnoreExtraElements
- 15. すべての派生クラスに強制的に抽象メソッドまたはプロパティを実装できますか?
- 16. すべてのクラスは.equalsメソッドと.hashcodeメソッドを持つべきですか?
- 17. すべてのメソッドとクラスを追跡
- 18. インターフェイスを実装するすべてのクラスに属性を追加する
- 19. インターフェイスを実装するすべてのクラスを発見してください
- 20. C#で文字列のリストを調べていますか?
- 21. Typescriptで実装されている抽象クラスとインターフェイスが、インターフェイス内のすべてのメソッドを実装する必要があるのはなぜですか?
- 22. php - オートローダの実装では、すべてのクラスをプリロードします
- 23. C++ ADLを使ってテンプレートのすべてのインスタンスを調べる方法は?
- 24. Generic型クラスのEqualityメソッドを実装していますか?
- 25. メソッドが静的クラスに存在するかどうかを調べる
- 26. C#MVCすべてのメソッドのルートを作成しますか?
- 27. Observerパターンを実装してクラス内のメソッドを実行する
- 28. Objective- C - クラス内のすべてのプロパティをループしますか?
- 29. タイプが汎用インターフェースを実装しているかどうかを調べる
- 30. php子クラスでメソッドがオーバーライドされているかどうかを調べる
「破棄」ではなく「廃棄」を意味しましたか?もしそうなら、答えは確かに「いいえ」です。多くのものは 'Close'メソッドを持たずに' IDisposable'を実装しています。 「すべてのクラス」を見つけるには、関心のあるアセンブリを指定する必要があります。それらを取得したら、それらをすべてリフレクションでロードすることができれば、それは非常に簡単です。 –
なぜそれをしようとしていますか?何を試しましたか?あなたは反射を使用していますか、単にインターネットからリストを取得したいですか? –
メニュー:編集:シンボルの検索:すべてのコンポーネントで使用できます。次に、Closeを検索します。 VSの一部のバージョンでは、メニューバーからコマンドが削除されました。そのため、カスタムボタンをツールバーに追加し、カスタマイズコマンドを使用して編集コマンドメニューからコマンドを追加することができます。ツールバーを右クリックし、「カスタマイズ:コマンド:編集:シンボルを検索」を選択します。 – jdweng