C#

リードオンリー インターフェース って言うのか?

C#

データを扱うクラスを作ってたんだけど、コード量や複雑度が増してくると「ここは参照系の処理だから、オブジェクトの変化を伴うようなメソッドをCallすることはあり得ない」というのを何とか機械的に保証したくなってくる。C++ に constメンバ関数 ってのが…

RCWはファイナライズで自動的にReleaseするっぽい。検証してみた。

正攻法で考えると、ReleaseComObject を必ず行う。なのだけど。。。CLR 徹底解剖: オブジェクトの有効期間を管理する マネージ コードから COM コンポーネントを使用する場合、tlbimp.exe を使用 していわゆるランタイム呼び出し可能ラッパー (RCW) を生成し…

C#からExcelを操作するライブラリ

はじめに。 C#からPIAでExcelCOM使うとリークしてしまうのが難点。ExcelCOMに1枚クラスを被せることで 使いにくいExcelCOMの存在をできるだけ隠蔽することを試みます。 クラスを被せることのメリット COMの解放(Marshal.ReleaseComObject)のことを考えなく…