Exemple #1
0
        /// <summary>
        /// Destroys object
        /// </summary>
        /// <param name="disposing">Flag, allowing destruction of
        /// managed objects contained in fields of class</param>
        private void Dispose(bool disposing)
        {
            if (_disposedFlag.Set())
            {
                if (disposing)
                {
                    if (_dispatcher != null)
                    {
                        _dispatcher.Invoke(DisposeUnmanagedResources);

                        _dispatcher.Dispose();
                        _dispatcher = null;
                    }

                    if (_typeMapper != null)
                    {
                        _typeMapper.Dispose();
                        _typeMapper = null;
                    }

                    _promiseContinuationCallback = null;
                }
                else
                {
                    DisposeUnmanagedResources();
                }
            }
        }
Exemple #2
0
        private bool disposedValue = false; // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    typeMapper.Dispose();
                }
                var _programToDispose = programs.ToList();
                foreach (var program in _programToDispose)
                {
                    program.Dispose();
                }
                runtime.Dispose();

                disposedValue = true;
            }
        }
 public void Dispose()
 {
     typeMapper.Dispose();
     context.Release();
     runtime.Dispose();
 }