Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / HashHelper.cs / 1305600 / HashHelper.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//
//
// Description: Static class to help work around hashing-related bugs.
//
//---------------------------------------------------------------------------
using System;
using MS.Internal; // BaseHashHelper
#if WINDOWS_BASE
namespace MS.Internal.Hashing.WindowsBase
#elif PRESENTATION_CORE
namespace MS.Internal.Hashing.PresentationCore
#elif PRESENTATIONFRAMEWORK
using System.ComponentModel; // ICustomTypeDescriptor
namespace MS.Internal.Hashing.PresentationFramework
#else
#error Attempt to define HashHelper in an unknown assembly.
namespace MS.Internal.YourAssemblyName
#endif
{
internal static class HashHelper
{
// The class cctor registers this assembly's exceptional types with
// the base helper.
static HashHelper()
{
Initialize(); // this makes FxCop happy - otherwise Initialize is "unused code"
Type[] types = new Type[] {
#if WINDOWS_BASE
#elif PRESENTATION_CORE
typeof(System.Windows.Media.CharacterMetrics), // bug 1612093
typeof(System.Windows.Ink.ExtendedProperty), // bug 1612101
typeof(System.Windows.Media.FamilyTypeface), // bug 1612103
typeof(System.Windows.Media.NumberSubstitution), // bug 1612105
#elif PRESENTATIONFRAMEWORK
typeof(System.Windows.Markup.Localizer.BamlLocalizableResource), // bug 1612118
typeof(System.Windows.ComponentResourceKey), // bug 1612119
#endif
};
BaseHashHelper.RegisterTypes(typeof(HashHelper).Assembly, types);
// initialize lower-level assemblies
#if PRESENTATIONFRAMEWORK
MS.Internal.Hashing.PresentationCore.HashHelper.Initialize();
#endif
}
// certain objects don't have reliable hashcodes, and cannot be used
// within a Hashtable, Dictionary, etc.
internal static bool HasReliableHashCode(object item)
{
return BaseHashHelper.HasReliableHashCode(item);
}
// this method doesn't do anything, but calling it makes sure the static
// cctor gets called
internal static void Initialize()
{
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//
//
// Description: Static class to help work around hashing-related bugs.
//
//---------------------------------------------------------------------------
using System;
using MS.Internal; // BaseHashHelper
#if WINDOWS_BASE
namespace MS.Internal.Hashing.WindowsBase
#elif PRESENTATION_CORE
namespace MS.Internal.Hashing.PresentationCore
#elif PRESENTATIONFRAMEWORK
using System.ComponentModel; // ICustomTypeDescriptor
namespace MS.Internal.Hashing.PresentationFramework
#else
#error Attempt to define HashHelper in an unknown assembly.
namespace MS.Internal.YourAssemblyName
#endif
{
internal static class HashHelper
{
// The class cctor registers this assembly's exceptional types with
// the base helper.
static HashHelper()
{
Initialize(); // this makes FxCop happy - otherwise Initialize is "unused code"
Type[] types = new Type[] {
#if WINDOWS_BASE
#elif PRESENTATION_CORE
typeof(System.Windows.Media.CharacterMetrics), // bug 1612093
typeof(System.Windows.Ink.ExtendedProperty), // bug 1612101
typeof(System.Windows.Media.FamilyTypeface), // bug 1612103
typeof(System.Windows.Media.NumberSubstitution), // bug 1612105
#elif PRESENTATIONFRAMEWORK
typeof(System.Windows.Markup.Localizer.BamlLocalizableResource), // bug 1612118
typeof(System.Windows.ComponentResourceKey), // bug 1612119
#endif
};
BaseHashHelper.RegisterTypes(typeof(HashHelper).Assembly, types);
// initialize lower-level assemblies
#if PRESENTATIONFRAMEWORK
MS.Internal.Hashing.PresentationCore.HashHelper.Initialize();
#endif
}
// certain objects don't have reliable hashcodes, and cannot be used
// within a Hashtable, Dictionary, etc.
internal static bool HasReliableHashCode(object item)
{
return BaseHashHelper.HasReliableHashCode(item);
}
// this method doesn't do anything, but calling it makes sure the static
// cctor gets called
internal static void Initialize()
{
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CapabilitiesUse.cs
- ResourceReader.cs
- MediaPlayer.cs
- NumberFormatInfo.cs
- DataGridState.cs
- Char.cs
- ProgressBarBrushConverter.cs
- AmbiguousMatchException.cs
- IApplicationTrustManager.cs
- TextViewBase.cs
- XmlHierarchicalEnumerable.cs
- CursorConverter.cs
- TimerTable.cs
- glyphs.cs
- WebDescriptionAttribute.cs
- CustomAssemblyResolver.cs
- DateTimeFormat.cs
- ListenerHandler.cs
- HasCopySemanticsAttribute.cs
- XPathExpr.cs
- XPathChildIterator.cs
- TextLineBreak.cs
- DbSetClause.cs
- HealthMonitoringSection.cs
- PersistChildrenAttribute.cs
- PositiveTimeSpanValidatorAttribute.cs
- Inflater.cs
- InstalledFontCollection.cs
- WebBrowserNavigatingEventHandler.cs
- DataGridViewComboBoxColumn.cs
- LingerOption.cs
- WindowAutomationPeer.cs
- Int32Animation.cs
- GAC.cs
- IdentityHolder.cs
- DependsOnAttribute.cs
- ResourcePart.cs
- SqlException.cs
- Block.cs
- ComponentFactoryHelpers.cs
- CodeExpressionCollection.cs
- ParameterSubsegment.cs
- CompensableActivity.cs
- CustomLineCap.cs
- SelectionManager.cs
- BulletChrome.cs
- MetadataSource.cs
- WebEvents.cs
- ObjectIDGenerator.cs
- MergeFilterQuery.cs
- XmlCustomFormatter.cs
- MatrixKeyFrameCollection.cs
- ObjectTypeMapping.cs
- AppDomainInfo.cs
- GetKeyedHashRequest.cs
- EarlyBoundInfo.cs
- DiagnosticTrace.cs
- InitializerFacet.cs
- PrinterResolution.cs
- SqlDataSourceSummaryPanel.cs
- OrderedDictionaryStateHelper.cs
- IntSecurity.cs
- WS2007FederationHttpBinding.cs
- ECDsa.cs
- ColumnReorderedEventArgs.cs
- EncoderNLS.cs
- DataGridViewCellConverter.cs
- _OSSOCK.cs
- RenderDataDrawingContext.cs
- HttpConfigurationContext.cs
- AxHost.cs
- ObjectQueryExecutionPlan.cs
- ImplicitInputBrush.cs
- WindowsEditBox.cs
- DateTimeParse.cs
- HttpListenerException.cs
- WebBaseEventKeyComparer.cs
- CustomErrorsSectionWrapper.cs
- DES.cs
- MD5.cs
- ScriptingProfileServiceSection.cs
- XmlSchemaObjectCollection.cs
- path.cs
- ObjectDataSourceStatusEventArgs.cs
- CodeAttributeDeclarationCollection.cs
- DynamicDataResources.Designer.cs
- XmlEventCache.cs
- AttachInfo.cs
- CustomAttributeBuilder.cs
- PropertyCollection.cs
- ElapsedEventArgs.cs
- DataBindingCollection.cs
- ClientRoleProvider.cs
- CommandID.cs
- ElementFactory.cs
- CallTemplateAction.cs
- SettingsPropertyCollection.cs
- AdjustableArrowCap.cs
- ResourceDefaultValueAttribute.cs
- SerializationInfo.cs