Code:
/ 4.0 / 4.0 / untmp / 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
- TypeReference.cs
- ContentElement.cs
- ConfigurationManagerInternalFactory.cs
- initElementDictionary.cs
- TreeIterators.cs
- ArrayConverter.cs
- TypeDependencyAttribute.cs
- FormsAuthentication.cs
- ReadOnlyAttribute.cs
- SearchForVirtualItemEventArgs.cs
- _HTTPDateParse.cs
- PropertyOverridesDialog.cs
- SessionParameter.cs
- UInt16.cs
- DesignerCategoryAttribute.cs
- DataBindEngine.cs
- CheckBoxFlatAdapter.cs
- ActivationService.cs
- CatalogZoneBase.cs
- ParameterCollectionEditorForm.cs
- TabPanel.cs
- DuplexChannelBinder.cs
- entitydatasourceentitysetnameconverter.cs
- MasterPageParser.cs
- QilGeneratorEnv.cs
- MemberCollection.cs
- HttpCapabilitiesEvaluator.cs
- EndpointConfigContainer.cs
- StorageConditionPropertyMapping.cs
- InstanceHandleReference.cs
- DSASignatureFormatter.cs
- KeyGesture.cs
- CultureMapper.cs
- SubpageParaClient.cs
- ArraySortHelper.cs
- PngBitmapEncoder.cs
- BinHexDecoder.cs
- SinglePhaseEnlistment.cs
- BinaryWriter.cs
- BooleanKeyFrameCollection.cs
- GeometryConverter.cs
- followingquery.cs
- WebPartConnection.cs
- XsltInput.cs
- OracleLob.cs
- WebUtility.cs
- autovalidator.cs
- OwnerDrawPropertyBag.cs
- ProgressBarAutomationPeer.cs
- ScriptingJsonSerializationSection.cs
- TypedElement.cs
- WebControlAdapter.cs
- GZipUtils.cs
- DataControlButton.cs
- TypedTableBaseExtensions.cs
- HttpHandlerAction.cs
- TokenBasedSet.cs
- BooleanExpr.cs
- SpeechSeg.cs
- GridPattern.cs
- FormViewPagerRow.cs
- ListViewTableCell.cs
- InsufficientMemoryException.cs
- XmlIlTypeHelper.cs
- HttpRequest.cs
- StateWorkerRequest.cs
- TypeSystem.cs
- StateManagedCollection.cs
- XmlAtomicValue.cs
- StyleSheet.cs
- CqlLexer.cs
- TextDecorations.cs
- KeyManager.cs
- ValidatingCollection.cs
- BoolExpression.cs
- SymDocumentType.cs
- ProxyManager.cs
- ListViewAutomationPeer.cs
- XmlSchemaImport.cs
- TextReader.cs
- UpDownBaseDesigner.cs
- FormsAuthenticationCredentials.cs
- SapiRecoContext.cs
- SafeBitVector32.cs
- PingReply.cs
- DirectoryObjectSecurity.cs
- RelatedCurrencyManager.cs
- EventSinkHelperWriter.cs
- OdbcHandle.cs
- CharConverter.cs
- ObjectDataSourceDesigner.cs
- LogConverter.cs
- MDIWindowDialog.cs
- DiscoveryClientReferences.cs
- HostProtectionException.cs
- CLSCompliantAttribute.cs
- SymbolDocumentGenerator.cs
- XmlResolver.cs
- DetailsViewModeEventArgs.cs
- CookieHandler.cs