中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

GC.SuppressFinalize

Dispose処理が終わったときに書きましょうとなっているGC.SuppressFinalize

それはいいとして、アンマネージリソースを保持しない、Finalizeを作らないものってのは正直どうでもいいわけですよね。

 public class a
 {
   public a()
   {
      GC.SuppressFinalize(this);
   }
   public void b()
   {
      System.Console.WriteLine("B");
   }
 }

コンストラクタでファイナライズ不要とマークしておいた方がいいのだろうか。

 

投稿日時 : 2006年2月25日 19:28

コメントを追加

# re: GC.SuppressFinalize 2006/02/25 20:38 Hongliang

そもそもファイナライザを定義していないクラスのインスタンスは完結化キューにのらないので、わざわざSuppressFinalizeする必要もないのでは。
http://www.microsoft.com/japan/msdn/net/mag00/GCI.asp

# re: GC.SuppressFinalize 2006/02/25 20:42 Hongliang

と書いてから、System.ObjectにFinalizeが定義されていたことを思い出しました(苦笑)。
ObjectのFinalizeは何もしないことが明言されてるけど、GC的にはどう映るんですかね。これだけ特別視するのかな。それとも問答無用で完結化キュー行き? ということになると確かにSuppressFinalize呼ぶ意味が出てくる……。

# re: GC.SuppressFinalize 2006/02/25 20:56 囚人

>ObjectのFinalizeは何もしないことが明言されてるけど、GC的にはどう映るんですかね。これだけ特別視するのかな。

特別視する、とどっかで読んだ記憶が…(ソース失念)

# réplique bracelet van cleef alhambra 2018/04/26 8:20 defhejcolfbcefsqgxkmgib@hotmal.com

Fantastic blog post, I’ve often wondered about this myself. I haven’t reached any conclusions for my own practice just yet. However, reading this has certainly given me some food for thought.
réplique bracelet van cleef alhambra http://www.gioiellipopolare.ru/fr/van-cleef-arpels-bracelet-replica-c1_4

タイトル
名前
URL
コメント