Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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
- NamespaceCollection.cs
- XmlAttributeProperties.cs
- SessionParameter.cs
- CriticalFinalizerObject.cs
- DesignerActionUIStateChangeEventArgs.cs
- WindowsPrincipal.cs
- FormClosingEvent.cs
- ToolStripMenuItem.cs
- DataGridSortCommandEventArgs.cs
- AttributeProviderAttribute.cs
- SynchronizedDispatch.cs
- DoubleStorage.cs
- SystemDropShadowChrome.cs
- Filter.cs
- XmlSchemaImport.cs
- Matrix.cs
- PageClientProxyGenerator.cs
- CircleEase.cs
- RankException.cs
- EventlogProvider.cs
- SettingsSavedEventArgs.cs
- GiveFeedbackEvent.cs
- WizardDesigner.cs
- ClientSideQueueItem.cs
- StringFunctions.cs
- UInt16Storage.cs
- OSFeature.cs
- TextDecoration.cs
- Ref.cs
- ToolZone.cs
- WebPartConnectVerb.cs
- MessageQueueException.cs
- ListManagerBindingsCollection.cs
- Lease.cs
- Package.cs
- OverflowException.cs
- AdRotatorDesigner.cs
- HiddenFieldPageStatePersister.cs
- MultipleViewPattern.cs
- Button.cs
- Schema.cs
- UpnEndpointIdentityExtension.cs
- PrintDialogException.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- KerberosReceiverSecurityToken.cs
- RawStylusInputCustomDataList.cs
- DrawingContextDrawingContextWalker.cs
- ClientSettings.cs
- GlobalAclOperationRequirement.cs
- ObjectDataSourceWizardForm.cs
- LayoutSettings.cs
- WebReferencesBuildProvider.cs
- FormParameter.cs
- LowerCaseStringConverter.cs
- MemoryFailPoint.cs
- ScrollProviderWrapper.cs
- DecimalSumAggregationOperator.cs
- SiteMapPath.cs
- ProcessModelInfo.cs
- CheckPair.cs
- Boolean.cs
- ElementsClipboardData.cs
- TableRowCollection.cs
- RadioButton.cs
- PenCursorManager.cs
- FontFamily.cs
- BulletedList.cs
- MetadataArtifactLoaderComposite.cs
- PublisherIdentityPermission.cs
- ChangeInterceptorAttribute.cs
- ArgumentOutOfRangeException.cs
- FormsAuthenticationCredentials.cs
- FigureParagraph.cs
- DataGridViewCellStyleBuilderDialog.cs
- InkCanvasInnerCanvas.cs
- FreezableOperations.cs
- CodeValidator.cs
- LabelEditEvent.cs
- Journal.cs
- ExtentKey.cs
- OutKeywords.cs
- WebPartCollection.cs
- ErrorLog.cs
- BitSet.cs
- UnknownWrapper.cs
- NamedPipeChannelFactory.cs
- ScriptResourceDefinition.cs
- ISAPIWorkerRequest.cs
- BooleanProjectedSlot.cs
- PerformanceCounterPermission.cs
- OdbcException.cs
- DeploymentExceptionMapper.cs
- InternalSafeNativeMethods.cs
- GeometryGroup.cs
- ImageListStreamer.cs
- TemplatePartAttribute.cs
- FactoryGenerator.cs
- ViewgenGatekeeper.cs
- TableRowCollection.cs
- AssemblyAttributesGoHere.cs