Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ReferencedType.cs
- WebRequestModuleElementCollection.cs
- DoubleMinMaxAggregationOperator.cs
- ViewPort3D.cs
- HttpHandlerActionCollection.cs
- BackEase.cs
- ExtensibleClassFactory.cs
- returneventsaver.cs
- diagnosticsswitches.cs
- WhiteSpaceTrimStringConverter.cs
- MessageContractAttribute.cs
- XmlEncodedRawTextWriter.cs
- ThicknessAnimation.cs
- FullTextState.cs
- SqlMetaData.cs
- PropertyReference.cs
- ContractsBCL.cs
- ConfigurationException.cs
- WeakHashtable.cs
- OutputCacheSettingsSection.cs
- AsyncCompletedEventArgs.cs
- KeyConstraint.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ItemContainerGenerator.cs
- WebHttpEndpointElement.cs
- UrlMapping.cs
- Compiler.cs
- AdapterDictionary.cs
- XmlAttributeCache.cs
- DataListItem.cs
- ContentPropertyAttribute.cs
- DataViewListener.cs
- DataGridViewTopRowAccessibleObject.cs
- IdnMapping.cs
- DataGridTablesFactory.cs
- DeferredReference.cs
- XMLSchema.cs
- ColorKeyFrameCollection.cs
- RoutedEventArgs.cs
- DoubleAnimation.cs
- BinaryMessageFormatter.cs
- ExceptionUtil.cs
- BrowserInteropHelper.cs
- SmiMetaDataProperty.cs
- DataGridTableCollection.cs
- NamespaceCollection.cs
- AffineTransform3D.cs
- DriveNotFoundException.cs
- AttachedPropertyDescriptor.cs
- BindingNavigatorDesigner.cs
- XamlToRtfWriter.cs
- ListDataHelper.cs
- QilStrConcat.cs
- SqlCommand.cs
- FixedSOMTableRow.cs
- LinkDescriptor.cs
- Selector.cs
- ListViewInsertedEventArgs.cs
- Mouse.cs
- DeviceContexts.cs
- UpDownEvent.cs
- SimpleMailWebEventProvider.cs
- FilteredDataSetHelper.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- RuntimeResourceSet.cs
- AsymmetricAlgorithm.cs
- BrushMappingModeValidation.cs
- InvokeProviderWrapper.cs
- SurrogateChar.cs
- UICuesEvent.cs
- GZipDecoder.cs
- GenericEnumConverter.cs
- ArithmeticException.cs
- PropertyGroupDescription.cs
- TypeForwardedToAttribute.cs
- SaveFileDialogDesigner.cs
- DbException.cs
- externdll.cs
- CodeTypeReferenceExpression.cs
- NetworkInterface.cs
- NameValueConfigurationElement.cs
- Animatable.cs
- MimePart.cs
- ChildrenQuery.cs
- WindowsTitleBar.cs
- SoapAttributes.cs
- AsyncOperationManager.cs
- XmlSchemaIdentityConstraint.cs
- XamlSerializerUtil.cs
- Object.cs
- ProjectionPathSegment.cs
- Timer.cs
- Size3DConverter.cs
- ConnectionStringSettings.cs
- CriticalExceptions.cs
- ListControl.cs
- DesignDataSource.cs
- ParameterCollectionEditor.cs
- DataSourceProvider.cs
- WSSecurityTokenSerializer.cs