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
- UnsafePeerToPeerMethods.cs
- DirectionalLight.cs
- TextFormatterHost.cs
- SmiContextFactory.cs
- AvTraceDetails.cs
- StylusPointProperty.cs
- ControlEvent.cs
- SmiEventStream.cs
- WindowsImpersonationContext.cs
- CompilerResults.cs
- AvTraceFormat.cs
- TextServicesPropertyRanges.cs
- SettingsSection.cs
- State.cs
- EmptyControlCollection.cs
- Schema.cs
- GradientBrush.cs
- TextCharacters.cs
- OleDbPropertySetGuid.cs
- URLEditor.cs
- ColumnBinding.cs
- CategoryNameCollection.cs
- ColorPalette.cs
- ValidationRule.cs
- DocumentOrderQuery.cs
- InProcStateClientManager.cs
- DesignBindingConverter.cs
- DependencyPropertyAttribute.cs
- EncoderExceptionFallback.cs
- ContainerFilterService.cs
- BuildProviderAppliesToAttribute.cs
- PrintController.cs
- NotifyInputEventArgs.cs
- SingleConverter.cs
- AssociatedControlConverter.cs
- VectorAnimationBase.cs
- Oid.cs
- EntityUtil.cs
- XmlChildNodes.cs
- Metadata.cs
- AuthenticationModuleElementCollection.cs
- Internal.cs
- Lease.cs
- StylusPoint.cs
- SemanticKeyElement.cs
- NamespaceList.cs
- StylusCollection.cs
- BaseCodeDomTreeGenerator.cs
- TypeConvertions.cs
- PrintPreviewControl.cs
- DecoderReplacementFallback.cs
- ClientCultureInfo.cs
- DbSetClause.cs
- Typeface.cs
- EventListener.cs
- EllipseGeometry.cs
- ProcessStartInfo.cs
- MenuItemBindingCollection.cs
- TimelineClockCollection.cs
- Int64.cs
- RequestTimeoutManager.cs
- ListChangedEventArgs.cs
- ChangesetResponse.cs
- WebEventTraceProvider.cs
- TCPListener.cs
- TextBounds.cs
- WebReferencesBuildProvider.cs
- TimeSpanMinutesConverter.cs
- DependencyProperty.cs
- DataBoundControl.cs
- Menu.cs
- NameNode.cs
- InputLanguageSource.cs
- WsdlBuildProvider.cs
- DataGridViewColumn.cs
- RoutedCommand.cs
- ETagAttribute.cs
- SubpageParaClient.cs
- BlurBitmapEffect.cs
- DataGridViewToolTip.cs
- DbMetaDataColumnNames.cs
- MatrixValueSerializer.cs
- connectionpool.cs
- StoreItemCollection.cs
- ObjectContext.cs
- TextBlock.cs
- ExtensionQuery.cs
- XmlSerializer.cs
- AuthorizationBehavior.cs
- EnumMember.cs
- ChannelServices.cs
- MetadataCache.cs
- HelpEvent.cs
- DurationConverter.cs
- DropShadowBitmapEffect.cs
- ConnectionManagementSection.cs
- AnchorEditor.cs
- PagesSection.cs
- ManagementQuery.cs
- PhysicalAddress.cs