This documentation is archived and is not being maintained.

Package.Dispose Method

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
protected void Dispose (
	boolean disposing
protected function Dispose (
	disposing : boolean
You cannot use methods in XAML.



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 Package subclasses 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 base.Dispose(disposing) to make sure that base class cleanup is always performed.

The "using" keyword (different from the "using" namespace statement) is the preferred means to Close and Dispose a package. The Writing a Package Sample shows closing and disposing a package with the "using" keyword.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0