Package.Dispose Method (Boolean)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Flushes and saves the content of all parts and relationships, closes the package, and releases all resources.

Namespace:   System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

protected virtual void Dispose(
	bool disposing


Type: System.Boolean

true to release both managed and unmanaged resources; false to release only unmanaged resources.

To make sure that all changes are correctly saved, Dispose also finalizes, flushes, and closes all parts and relationships that are contained in the package.

For the Package class, Dispose and Close perform the same operation - there is no reason to call Dispose if you call Close, or vice-versa.

Close and Dispose internally call Flush.

Derived classes that allocate and manage non-memory resources should override this method to release resources when Dispose is called. Derived-class overrides should also call Flush and the base-class Dispose method to make sure that base-class cleanup is always performed.


The using statement (different from the using namespace directive) is the recommended way to Close and Dispose a package. Writing a Package Sample shows how to close and dispose a package by using the using statement.

.NET Framework
Available since 3.0
Return to top