こうした
- using (System.IO.Stream gfs = m_typeface.GetFontStream())
- {
- XXXX
- }
気になった点は、自分でnewしていないので、usingで解放されるのか?
逆に勝手に解放してよいのか?という点も気になりました。
(気になった点①)Usingで解放されるか逆コンパイルして確認する
下記のサイトを参考に確認しました。初期化なしのusing文ってOK?
初めて逆コンパイルしたので、自分へのメモも兼ねてやり方も記載してます。
(1)スタートメニュー → Visual Studio 2019
→ Developer Command Prompt for VS 2019 を起動する。

(2)ildasmと入力してEnter

(3)IL DASMというツールが起動するので、ここに作成したexeをD&Dする。
(4)確認したいメソッドをダブルクリックすると、コードを確認できる。

(5)Disposeが呼ばれているので、おそらく解放してくれるのではないかと思う。
(気になった点②)自分でnewしたオブジェクトではないけど解放して大丈夫か?
解放した後に、getしてみたけど、例外が飛んだりしないので大丈夫なのかな?- System.IO.Stream gfs = m_typeface.GetFontStream();
- gfs.Close();
- gfs.Dispose();
- gfs = m_typeface.GetFontStream();
0 件のコメント:
コメントを投稿