うーん、家でやったら再現しないんだけれど…会社でやるとIntelliSence選ぶときに必ずアプリケーションエラーが発生する。
public class Class2 :IDisposable { private bool disposed = false; public Class2() { } private void Dispose() { //略 } protected virtual void Dispose(bool disposing) { if(!this.disposed) { // ここ } } }
元々継承無しのクラスだったけれど、マネージリソース(DEVMODEとDEVNAMESのハンドル)を使うので、IDisposable継承して、MSDNにのっていたようにDispose()を実装しようとした。で、「// ここ」とかいているところで、this.とIntelliSenceが出てくるところでアプリケーションエラー。
もちろん実際はもっとたくさんメソッドとかあるのだけれど、追記した最小限といえば上のような感じです。とりあえず一回だけレポートとして送信済み。二回同じ操作でアプリケーションエラーが発生したので、秀丸で該当箇所のif文を書いて、こぴぺで回避。