- 660 名前:デフォルトの名無しさん mailto:sage [2015/08/23(日) 22:37:24.13 ID:JbH8lT1Q.net]
- >>639
仰るとおり、C++→C#へのポーティングではC#のデストラクタには期待できないから、 いちいち手動で順番も考慮してDispose()しかなさそうだ。 ただこれはだいぶ手間だから、何らかの上手い解決策が既にありそうだけどね。 仕様から言って、C#ではデストラクタの起動順を期待するコーディングをしてはいけない。 ただ、 > フィールド上に確保していたバッファがデストラクタ中のクローズ処理よりも先に解放されてしまうなどですかね (635) これはよく分からない。(これが発生する可能性がシステム的にあることは分かる) とはいえ、C#って多重継承できないし、アンマネージドとマネージドを混ぜてぐちゃぐちゃにしたりすることがなければ、 これって無いよね? (逆に言えば、マネージドコードだけならこういったことは発生しない、と思っている。 そして本来はアンマネージドを大量に使うことこそが問題。ポーティングならある程度致し方ないにしても。)
|

|