Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / ValueType.cs / 1 / 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
- HeaderUtility.cs
- TypeSchema.cs
- PrintDialog.cs
- MobileCategoryAttribute.cs
- CodeBinaryOperatorExpression.cs
- basecomparevalidator.cs
- Predicate.cs
- DataGridViewCellValidatingEventArgs.cs
- OpCodes.cs
- InlineObject.cs
- SecurityTokenTypes.cs
- IDReferencePropertyAttribute.cs
- PositiveTimeSpanValidatorAttribute.cs
- ConfigurationSectionCollection.cs
- Simplifier.cs
- PriorityChain.cs
- HttpProtocolImporter.cs
- TemplateBuilder.cs
- IMembershipProvider.cs
- NamespaceQuery.cs
- StringPropertyBuilder.cs
- StatusBarItem.cs
- ParseChildrenAsPropertiesAttribute.cs
- RijndaelManagedTransform.cs
- UnauthorizedAccessException.cs
- BuildProviderInstallComponent.cs
- AndCondition.cs
- Unit.cs
- WindowsIdentity.cs
- PartialCachingAttribute.cs
- ServicesUtilities.cs
- TransactionFlowProperty.cs
- ItemChangedEventArgs.cs
- ClientProxyGenerator.cs
- ConfigurationSectionGroup.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ThreadPool.cs
- unitconverter.cs
- FixedTextContainer.cs
- HelpInfo.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- NonBatchDirectoryCompiler.cs
- SourceElementsCollection.cs
- HttpConfigurationContext.cs
- Calendar.cs
- UseAttributeSetsAction.cs
- CounterSetInstance.cs
- MappedMetaModel.cs
- EmptyStringExpandableObjectConverter.cs
- KnownTypesHelper.cs
- CompositeTypefaceMetrics.cs
- DetailsView.cs
- SystemException.cs
- NumberSubstitution.cs
- mediapermission.cs
- DataGridViewCellPaintingEventArgs.cs
- SmiConnection.cs
- GPRECT.cs
- KnownTypeAttribute.cs
- InstanceKeyView.cs
- FileIOPermission.cs
- EncoderFallback.cs
- SqlFacetAttribute.cs
- MethodBody.cs
- InputManager.cs
- WebControlsSection.cs
- WaitHandle.cs
- NamedPermissionSet.cs
- CalendarItem.cs
- DependencyPropertyDescriptor.cs
- PriorityChain.cs
- TdsParserStateObject.cs
- BamlLocalizationDictionary.cs
- MembershipSection.cs
- TextTreeExtractElementUndoUnit.cs
- DES.cs
- ConfigurationStrings.cs
- SamlAuthenticationClaimResource.cs
- StaticFileHandler.cs
- PersonalizablePropertyEntry.cs
- ConnectionStringSettingsCollection.cs
- ProcessThread.cs
- Int32AnimationUsingKeyFrames.cs
- OleDbCommandBuilder.cs
- ReflectionServiceProvider.cs
- EntityContainerRelationshipSetEnd.cs
- MatrixConverter.cs
- LightweightCodeGenerator.cs
- TableRow.cs
- LiteralText.cs
- SessionMode.cs
- BlockUIContainer.cs
- _ServiceNameStore.cs
- Padding.cs
- PublisherIdentityPermission.cs
- TemplateInstanceAttribute.cs
- NegotiationTokenProvider.cs
- MessageUtil.cs
- DbProviderFactoriesConfigurationHandler.cs
- ConfigurationSettings.cs