Esempio n. 1
0
	void Game::Dispose(bool disposing)
	{
		if(disposed)
			return;

		if(disposing)
		{
			for (int i = 0; i < components.Count(); i++)
			{
				IDisposable* disposable = (IDisposable *)components[i];
				if (disposable)
					disposable->Dispose();
			}
		}

		disposed = true;

		Disposed(this, EventArgs::Empty);
	}
void NamedOperationDataStream::Dispose()
{
    if (isDisposed_ == true || operationDataStreamCollection_.Count() == 0)
    {
        return;
    }

    for (StateProviderDataStream namedOperationDataStream : operationDataStreamCollection_)
    {
        IDisposable * disposableStreamPtr = dynamic_cast<IDisposable *>(namedOperationDataStream.OperationDataStream.RawPtr());
        if (disposableStreamPtr != nullptr)
        {
            disposableStreamPtr->Dispose();
        }
    }

    operationDataStreamCollection_.Clear();
    isDisposed_ = true;
}