private bool _isDisposed = false; // 重複する呼び出しを検出するには protected virtual void Dispose(bool disposing) { if (!_isDisposed) { if (disposing) { if (Cs != null) { Cs.Dispose(); Cs = null; } Host = null; Mac = null; Id = null; Key = null; Iv = null; Lock = null; } _isDisposed = true; } }