Пример #1
0
        /// <remarks>
        /// Вся логика по "очистке" реализуется в этом методе
        /// </remarks>
        protected virtual void Dispose(bool disposing)
        {
            Console.WriteLine("Dispose({0})", disposing);
            if (disposing)
            {
                // Вызываем Dispose() для управляемых ресурсов которыми мы владеем
                // Делаем проверки на null для защиты от возможного повторного вызова Dispose()
                if (_managedResource != null)
                {
                    _managedResource.Dispose();
                    _managedResource = null;
                }
            }

            // Освобождаем неуправляемые ресурсы
            if (_nativeResource != IntPtr.Zero)
            {
                Marshal.FreeHGlobal(_nativeResource);
                _nativeResource = IntPtr.Zero;
            }
        }
Пример #2
0
        /// <remarks>
        /// Вся логика по "очистке" реализуется в этом методе
        /// </remarks>
        protected virtual void Dispose(bool disposing)
        {
            Console.WriteLine("Dispose({0})", disposing);
            if (disposing)
            {
                // Вызываем Dispose() для управляемых ресурсов которыми мы владеем
                // Делаем проверки на null для защиты от возможного повторного вызова Dispose()
                if (_managedResource != null)
                {
                    _managedResource.Dispose();
                    _managedResource = null;
                }
            }

            // Освобождаем неуправляемые ресурсы
            if (_nativeResource != IntPtr.Zero)
            {
                Marshal.FreeHGlobal(_nativeResource);
                _nativeResource = IntPtr.Zero;
            }
        }