public override int Close()
{
if (Site != null)
{
INemerleLibraryManager libraryManager =
Site.GetService(typeof(INemerleLibraryManager)) as INemerleLibraryManager;
if (null != libraryManager)
libraryManager.UnregisterHierarchy(InteropSafeHierarchy);
}
int result;
// Prevent early disposing...
_suppressDispose = true;
try { result = base.Close(); }
catch (COMException ex) { result = ex.ErrorCode; }
finally
{
_suppressDispose = false;
Dispose(true);
}
return result;
}