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
- EventDriven.cs
- WebEvents.cs
- UserControlDocumentDesigner.cs
- SelectionPattern.cs
- HttpGetClientProtocol.cs
- QuadraticBezierSegment.cs
- OpacityConverter.cs
- CounterCreationData.cs
- _NegotiateClient.cs
- ColumnResizeUndoUnit.cs
- DeploymentSection.cs
- DocumentGridContextMenu.cs
- TypeContext.cs
- DataGridToolTip.cs
- DesignerDataStoredProcedure.cs
- CodeTypeMember.cs
- xmlfixedPageInfo.cs
- WorkflowOperationFault.cs
- ExpressionConverter.cs
- MappingMetadataHelper.cs
- ClientConfigurationHost.cs
- GridViewEditEventArgs.cs
- Aggregates.cs
- ConstructorBuilder.cs
- RegistrationServices.cs
- DataControlFieldHeaderCell.cs
- Vector3DCollectionValueSerializer.cs
- WhitespaceRuleLookup.cs
- LinkTarget.cs
- ZoneButton.cs
- DebugHandleTracker.cs
- PermissionSet.cs
- ArglessEventHandlerProxy.cs
- BordersPage.cs
- TypeHelpers.cs
- SequenceDesignerAccessibleObject.cs
- CodeDirectiveCollection.cs
- ImageSourceValueSerializer.cs
- HotSpot.cs
- X509Extension.cs
- EditorPartCollection.cs
- KeyFrames.cs
- EntityContainer.cs
- OracleNumber.cs
- AppDomainInfo.cs
- XmlDataDocument.cs
- CngKeyCreationParameters.cs
- PersonalizationProviderHelper.cs
- RawStylusInputCustomData.cs
- ButtonBase.cs
- ResourceDescriptionAttribute.cs
- HtmlTableRow.cs
- shaperfactory.cs
- XmlSchemaSimpleTypeList.cs
- EnumMember.cs
- PrimaryKeyTypeConverter.cs
- ExtendedProtectionPolicy.cs
- ListenerTraceUtility.cs
- RemotingService.cs
- DataGridViewSelectedColumnCollection.cs
- MenuItem.cs
- Ray3DHitTestResult.cs
- XmlNotation.cs
- TypographyProperties.cs
- BindableAttribute.cs
- cookiecontainer.cs
- SelectionEditingBehavior.cs
- ContentAlignmentEditor.cs
- BinaryObjectInfo.cs
- XmlValidatingReaderImpl.cs
- KnownTypesHelper.cs
- AsyncOperationManager.cs
- WebPartMenuStyle.cs
- BitmapCodecInfoInternal.cs
- ConnectionStringSettings.cs
- MsmqException.cs
- WindowsListViewGroup.cs
- HtmlListAdapter.cs
- Label.cs
- CommonDialog.cs
- SchemaElementDecl.cs
- WithParamAction.cs
- XmlILModule.cs
- RSAOAEPKeyExchangeDeformatter.cs
- NeutralResourcesLanguageAttribute.cs
- SqlFileStream.cs
- SimplePropertyEntry.cs
- RecordsAffectedEventArgs.cs
- LineSegment.cs
- Attributes.cs
- MemoryStream.cs
- CellParagraph.cs
- GestureRecognitionResult.cs
- CatalogPart.cs
- DoubleAnimationUsingKeyFrames.cs
- SqlClientWrapperSmiStreamChars.cs
- WebPartMenuStyle.cs
- ArrayItemValue.cs
- ControlBuilder.cs
- PerformanceCounterManager.cs