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
- ExpressionBuilder.cs
- ScrollData.cs
- SortedDictionary.cs
- Shared.cs
- pingexception.cs
- GregorianCalendar.cs
- PassportPrincipal.cs
- RemoteAsymmetricSignatureFormatter.cs
- IisTraceListener.cs
- BinaryObjectReader.cs
- ListControlStringCollectionEditor.cs
- MouseCaptureWithinProperty.cs
- SymbolType.cs
- CqlIdentifiers.cs
- SqlCharStream.cs
- DataContractSerializerMessageContractImporter.cs
- NativeMethods.cs
- StatusStrip.cs
- TemplateLookupAction.cs
- String.cs
- StubHelpers.cs
- AuthStoreRoleProvider.cs
- StaticExtensionConverter.cs
- DataRowCollection.cs
- DataBindingHandlerAttribute.cs
- HtmlObjectListAdapter.cs
- _SecureChannel.cs
- COMException.cs
- FormsAuthenticationCredentials.cs
- TypeReference.cs
- KeyNotFoundException.cs
- AssemblyCollection.cs
- jithelpers.cs
- DefaultAutoFieldGenerator.cs
- WebPartConnectionsCancelEventArgs.cs
- BitStream.cs
- DbReferenceCollection.cs
- SafeBitVector32.cs
- FilterException.cs
- IgnoreFlushAndCloseStream.cs
- XhtmlBasicPhoneCallAdapter.cs
- MobileListItem.cs
- Operators.cs
- ConstructorArgumentAttribute.cs
- OracleParameter.cs
- AppDomainShutdownMonitor.cs
- AddressAlreadyInUseException.cs
- ResourceProviderFactory.cs
- EmbeddedMailObjectsCollection.cs
- ToolTip.cs
- Constraint.cs
- CompilerParameters.cs
- XDRSchema.cs
- Model3D.cs
- EdmProviderManifest.cs
- OdbcConnectionPoolProviderInfo.cs
- ClientSideProviderDescription.cs
- XPathAncestorIterator.cs
- XmlDataSourceNodeDescriptor.cs
- VolatileEnlistmentMultiplexing.cs
- DrawListViewColumnHeaderEventArgs.cs
- SoapReflectionImporter.cs
- ThicknessAnimationBase.cs
- Scanner.cs
- ConnectionsZone.cs
- Helpers.cs
- NodeFunctions.cs
- DetailsViewInsertEventArgs.cs
- ApplicationException.cs
- SHA256.cs
- TrustManagerPromptUI.cs
- DetailsViewDesigner.cs
- ClientScriptManagerWrapper.cs
- AgileSafeNativeMemoryHandle.cs
- StyleSheetRefUrlEditor.cs
- DataAdapter.cs
- AsymmetricKeyExchangeDeformatter.cs
- ExpressionDumper.cs
- ReachObjectContext.cs
- SqlMethodAttribute.cs
- safelink.cs
- MsmqIntegrationProcessProtocolHandler.cs
- RuntimeArgumentHandle.cs
- HwndSource.cs
- AssemblyInfo.cs
- UIElementAutomationPeer.cs
- DataObjectCopyingEventArgs.cs
- SecurityResources.cs
- EncodingStreamWrapper.cs
- AccessControlList.cs
- WebPartConnection.cs
- DbConnectionClosed.cs
- Simplifier.cs
- StylusTip.cs
- RegexGroup.cs
- InkCanvasSelectionAdorner.cs
- IImplicitResourceProvider.cs
- Vector3DIndependentAnimationStorage.cs
- DrawItemEvent.cs
- PointHitTestParameters.cs