質問するログイン新規登録

回答編集履歴

2

sage

2018/09/20 16:57

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
File without changes

1

sage

2018/09/20 16:57

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -2,4 +2,26 @@
2
2
  しかし、ほとんどの場合は IDisposable は実装する必要ありませんし、実装した場合の中のほとんどの場合はもっと簡単に書くことができます。
3
3
 
4
4
  解説記事を書いてみました。
5
- [C# のファイナライザ、Dispose() メソッド、IDisposable インターフェースについて](https://qiita.com/Zuishin/items/9efc9c8cbb98300bbc64)
5
+ [C# のファイナライザ、Dispose() メソッド、IDisposable インターフェースについて](https://qiita.com/Zuishin/items/9efc9c8cbb98300bbc64)
6
+
7
+ 結論だけ言うと、ほとんどの場合これで大丈夫です。
8
+
9
+ ```C#
10
+ class Class1 : IDisposable
11
+ {
12
+ private bool disposedValue = false; // 重複する呼び出しを検出するには
13
+
14
+ public virtual void Dispose()
15
+ {
16
+ // すでに処理されている場合は何もしない
17
+ if (disposedValue)
18
+ {
19
+ return;
20
+ }
21
+
22
+ // ここでマネージリソースを解放
23
+
24
+ disposedValue = true;
25
+ }
26
+ }
27
+ ```