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
- ProcessHostConfigUtils.cs
- ViewDesigner.cs
- webproxy.cs
- Sql8ExpressionRewriter.cs
- DBDataPermissionAttribute.cs
- FileLogRecord.cs
- StorageEntityTypeMapping.cs
- WindowsGraphicsCacheManager.cs
- IgnoreDataMemberAttribute.cs
- SqlConnectionStringBuilder.cs
- InstanceCollisionException.cs
- ArrangedElement.cs
- ProcessHost.cs
- MembershipSection.cs
- WebPartTracker.cs
- NumericUpDownAcceleration.cs
- HtmlHistory.cs
- TableCell.cs
- ErrorFormatter.cs
- PromptBuilder.cs
- XmlMtomReader.cs
- EnumUnknown.cs
- LogoValidationException.cs
- ApplicationServiceHelper.cs
- Debug.cs
- DataColumnCollection.cs
- IndexingContentUnit.cs
- Peer.cs
- TransportContext.cs
- ChangePasswordAutoFormat.cs
- DataGridViewImageColumn.cs
- RubberbandSelector.cs
- AuthorizationPolicyTypeElement.cs
- RootBuilder.cs
- MasterPageBuildProvider.cs
- IntellisenseTextBox.designer.cs
- DataControlLinkButton.cs
- DataGridViewComponentPropertyGridSite.cs
- NamedObject.cs
- Buffer.cs
- QueueProcessor.cs
- ScalarConstant.cs
- XmlNamespaceManager.cs
- DecimalStorage.cs
- ActivityCodeGenerator.cs
- EntityDataSourceReferenceGroup.cs
- CreateWorkflowOwnerCommand.cs
- ObjectManager.cs
- WebPartConnectionsCloseVerb.cs
- PenCursorManager.cs
- RegularExpressionValidator.cs
- Boolean.cs
- counter.cs
- QueryOptionExpression.cs
- hresults.cs
- RectKeyFrameCollection.cs
- DesignerDataSchemaClass.cs
- Ref.cs
- URLAttribute.cs
- WebPartZone.cs
- documentsequencetextcontainer.cs
- DetailsViewInsertedEventArgs.cs
- TreeNodeEventArgs.cs
- XmlStreamNodeWriter.cs
- RtfToXamlReader.cs
- MenuScrollingVisibilityConverter.cs
- CodeDomSerializerException.cs
- ReadOnlyDataSource.cs
- MultiPageTextView.cs
- ArraySubsetEnumerator.cs
- SectionUpdates.cs
- RSAProtectedConfigurationProvider.cs
- HTMLTextWriter.cs
- Comparer.cs
- WebServiceBindingAttribute.cs
- TypeDescriptionProvider.cs
- BinHexEncoding.cs
- CompositeActivityTypeDescriptorProvider.cs
- AuthenticateEventArgs.cs
- ViewBox.cs
- XmlDataSource.cs
- CreateUserWizardStep.cs
- CodeSnippetCompileUnit.cs
- ListViewItem.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- AffineTransform3D.cs
- RootProfilePropertySettingsCollection.cs
- TriggerAction.cs
- DataBoundControlAdapter.cs
- SafeArrayRankMismatchException.cs
- HtmlTableCellCollection.cs
- StateMachine.cs
- ReceiveErrorHandling.cs
- ZipPackagePart.cs
- RootBrowserWindowAutomationPeer.cs
- AutomationInteropProvider.cs
- TypeSystem.cs
- util.cs
- EpmCustomContentWriterNodeData.cs
- GridItemPattern.cs