Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / ValueType.cs / 2 / ValueType.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: ValueType ** ** ** Purpose: Base class for all value classes. ** ** ===========================================================*/ namespace System { using System; using System.Reflection; using System.Runtime.CompilerServices; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public abstract class ValueType { public override bool Equals (Object obj) { BCLDebug.Perf(false, "ValueType::Equals is not fast. "+this.GetType().FullName+" should override Equals(Object)"); if (null==obj) { return false; } RuntimeType thisType = (RuntimeType)this.GetType(); RuntimeType thatType = (RuntimeType)obj.GetType(); if (thatType!=thisType) { return false; } Object thisObj = (Object)this; Object thisResult, thatResult; // if there are no GC references in this object we can avoid reflection // and do a fast memcmp if (CanCompareBits(this)) return FastEqualsCheck(thisObj, obj); FieldInfo[] thisFields = thisType.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); for (int i=0; i
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InstanceNormalEvent.cs
- DefaultCommandConverter.cs
- XmlObjectSerializerWriteContext.cs
- IssuanceLicense.cs
- QuotedPrintableStream.cs
- DateTimeFormatInfo.cs
- ContentOperations.cs
- DeferredReference.cs
- DefaultSettingsSection.cs
- TextTreePropertyUndoUnit.cs
- HttpContextServiceHost.cs
- MulticastNotSupportedException.cs
- CommandLineParser.cs
- Thickness.cs
- SamlAssertionKeyIdentifierClause.cs
- Facet.cs
- XPathNavigatorException.cs
- UIInitializationException.cs
- XmlArrayItemAttributes.cs
- QilTargetType.cs
- IsolatedStoragePermission.cs
- CryptoHelper.cs
- Control.cs
- ManagedFilter.cs
- HttpServerVarsCollection.cs
- glyphs.cs
- PointAnimation.cs
- TranslateTransform3D.cs
- GZipUtils.cs
- Single.cs
- HttpApplication.cs
- HierarchicalDataSourceControl.cs
- ChildTable.cs
- FormattedTextSymbols.cs
- SplashScreen.cs
- LiteralControl.cs
- XmlEntityReference.cs
- EndEvent.cs
- HtmlTableCell.cs
- MergePropertyDescriptor.cs
- Table.cs
- TraversalRequest.cs
- QilTargetType.cs
- SqlParameter.cs
- ConnectionConsumerAttribute.cs
- AsymmetricKeyExchangeDeformatter.cs
- WebPartDeleteVerb.cs
- NotFiniteNumberException.cs
- DrawListViewItemEventArgs.cs
- SQLGuidStorage.cs
- CompiledIdentityConstraint.cs
- PropertyTabChangedEvent.cs
- BamlTreeUpdater.cs
- SQLResource.cs
- UdpRetransmissionSettings.cs
- ChannelListenerBase.cs
- PasswordTextContainer.cs
- ArrayTypeMismatchException.cs
- Color.cs
- Normalization.cs
- KeyedHashAlgorithm.cs
- _AuthenticationState.cs
- SchemaImporter.cs
- CharacterHit.cs
- CaseCqlBlock.cs
- AttachedPropertyBrowsableAttribute.cs
- IdentityReference.cs
- PerfCounterSection.cs
- ObjectViewEntityCollectionData.cs
- ListSortDescriptionCollection.cs
- MeasurementDCInfo.cs
- TextSerializer.cs
- RegexCode.cs
- EdmSchemaAttribute.cs
- XmlCountingReader.cs
- LogAppendAsyncResult.cs
- DataTableReader.cs
- BorderGapMaskConverter.cs
- ScrollBarAutomationPeer.cs
- DataControlPagerLinkButton.cs
- StringFunctions.cs
- SR.Designer.cs
- AutoSizeComboBox.cs
- ErrorItem.cs
- AnnouncementDispatcherAsyncResult.cs
- Model3DGroup.cs
- SpAudioStreamWrapper.cs
- Operators.cs
- ImmutableObjectAttribute.cs
- NavigationPropertyEmitter.cs
- HwndSourceKeyboardInputSite.cs
- WebException.cs
- XmlSerializerAssemblyAttribute.cs
- TrackingProfileSerializer.cs
- StyleXamlParser.cs
- XmlObjectSerializerReadContext.cs
- PeerApplicationLaunchInfo.cs
- QueryableFilterRepeater.cs
- ResourceReader.cs
- GestureRecognizer.cs