Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / ValueType.cs / 1305376 / 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; using System.Runtime.Versioning; [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
- PropertyPathConverter.cs
- LicFileLicenseProvider.cs
- PrePostDescendentsWalker.cs
- WmlLinkAdapter.cs
- RequestContext.cs
- DropShadowEffect.cs
- PointValueSerializer.cs
- BookmarkScopeInfo.cs
- HtmlForm.cs
- ReadOnlyTernaryTree.cs
- TargetControlTypeCache.cs
- RefreshEventArgs.cs
- Identity.cs
- ObjectViewListener.cs
- ThemeableAttribute.cs
- InvalidComObjectException.cs
- RegexGroupCollection.cs
- DataColumnMappingCollection.cs
- TransportListener.cs
- DataGridLinkButton.cs
- XmlBindingWorker.cs
- Viewport3DAutomationPeer.cs
- FixedElement.cs
- ConfigurationElementProperty.cs
- WindowsStartMenu.cs
- EventMappingSettingsCollection.cs
- DeflateStreamAsyncResult.cs
- XPathNodeInfoAtom.cs
- MDIClient.cs
- SimpleTextLine.cs
- IndexedString.cs
- UniqueContractNameValidationBehavior.cs
- ProfileEventArgs.cs
- ContentFileHelper.cs
- PeerSecurityManager.cs
- BindableTemplateBuilder.cs
- ColorPalette.cs
- XmlSchemaParticle.cs
- ApplyImportsAction.cs
- GroupItem.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- NamedObject.cs
- QueryPageSettingsEventArgs.cs
- Component.cs
- ObjectViewFactory.cs
- TransportChannelListener.cs
- SplitterPanel.cs
- FusionWrap.cs
- PackageRelationshipCollection.cs
- QilBinary.cs
- GeneratedContractType.cs
- FormattedTextSymbols.cs
- ExceptionWrapper.cs
- SqlCharStream.cs
- TextParaLineResult.cs
- HttpModulesSection.cs
- DataSourceXmlSerializer.cs
- _NativeSSPI.cs
- DragEvent.cs
- NotifyParentPropertyAttribute.cs
- ContextStaticAttribute.cs
- ListItem.cs
- DataObjectSettingDataEventArgs.cs
- GridItemProviderWrapper.cs
- WebBaseEventKeyComparer.cs
- StateBag.cs
- ControlCollection.cs
- XamlVector3DCollectionSerializer.cs
- SmiConnection.cs
- TdsParserStateObject.cs
- Operand.cs
- RemoteWebConfigurationHostServer.cs
- OleDbTransaction.cs
- SubpageParaClient.cs
- MediaContext.cs
- ListenUriMode.cs
- SettingsSection.cs
- SelectionItemProviderWrapper.cs
- XPathAncestorQuery.cs
- CalendarAutomationPeer.cs
- DataServiceQueryOfT.cs
- RelatedImageListAttribute.cs
- PassportAuthenticationEventArgs.cs
- ColorAnimationUsingKeyFrames.cs
- DbDataAdapter.cs
- RubberbandSelector.cs
- StdValidatorsAndConverters.cs
- StylusTip.cs
- ADRole.cs
- LocatorGroup.cs
- FtpWebResponse.cs
- Composition.cs
- TransformBlockRequest.cs
- XsltFunctions.cs
- CodeCatchClause.cs
- MergePropertyDescriptor.cs
- LongCountAggregationOperator.cs
- ImageListUtils.cs
- SafeNativeMethods.cs
- ScriptingProfileServiceSection.cs