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
- ListenerConfig.cs
- metadatamappinghashervisitor.cs
- FixedStringLookup.cs
- DoubleAnimation.cs
- StorageAssociationTypeMapping.cs
- MultiView.cs
- DataGridViewToolTip.cs
- XmlDocumentSurrogate.cs
- PathTooLongException.cs
- WindowsNonControl.cs
- DiscoveryClientRequestChannel.cs
- DocumentReference.cs
- ChtmlFormAdapter.cs
- DecimalAnimation.cs
- FileDetails.cs
- CustomLineCap.cs
- QueryAccessibilityHelpEvent.cs
- D3DImage.cs
- PaperSize.cs
- StreamWithDictionary.cs
- ButtonField.cs
- AssemblyBuilderData.cs
- TemplateParser.cs
- HiddenField.cs
- PersonalizationProviderCollection.cs
- BidOverLoads.cs
- ProfileProvider.cs
- XmlDesigner.cs
- SafeIUnknown.cs
- EntityDataSourceReferenceGroup.cs
- PopupRoot.cs
- XmlDocumentFragment.cs
- CatalogZone.cs
- XmlDataSourceView.cs
- SearchForVirtualItemEventArgs.cs
- ContentHostHelper.cs
- altserialization.cs
- Transform3DCollection.cs
- PenCursorManager.cs
- FormViewDeletedEventArgs.cs
- SqlConnectionFactory.cs
- WpfPayload.cs
- ObjectSecurity.cs
- CompoundFileDeflateTransform.cs
- ConnectionManagementSection.cs
- codemethodreferenceexpression.cs
- NativeRightsManagementAPIsStructures.cs
- SoapSchemaExporter.cs
- NonParentingControl.cs
- OutputCacheSettingsSection.cs
- cookie.cs
- LoginDesigner.cs
- LinkAreaEditor.cs
- MultiTrigger.cs
- CompareValidator.cs
- AttachedPropertyMethodSelector.cs
- safex509handles.cs
- LinkAreaEditor.cs
- AsyncResult.cs
- Win32Exception.cs
- StandardToolWindows.cs
- CompilationLock.cs
- GetRecipientRequest.cs
- SqlBuilder.cs
- UIPropertyMetadata.cs
- initElementDictionary.cs
- SelectorItemAutomationPeer.cs
- WindowsTokenRoleProvider.cs
- InputManager.cs
- CompilerScopeManager.cs
- ToolStripOverflow.cs
- HistoryEventArgs.cs
- StateDesigner.CommentLayoutGlyph.cs
- ColumnResult.cs
- ListViewGroupConverter.cs
- CustomError.cs
- XmlDataSourceNodeDescriptor.cs
- BinaryConverter.cs
- BamlTreeMap.cs
- StaticExtensionConverter.cs
- ActionFrame.cs
- ParameterBuilder.cs
- FormDocumentDesigner.cs
- GraphicsContainer.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- TypeResolver.cs
- TableLayoutSettingsTypeConverter.cs
- SQLMoney.cs
- ServiceAuthorizationElement.cs
- WebFormsRootDesigner.cs
- TabPage.cs
- UIElementCollection.cs
- CodeBlockBuilder.cs
- assemblycache.cs
- StylusTip.cs
- MultipartIdentifier.cs
- Condition.cs
- Triplet.cs
- VirtualizingPanel.cs
- InputLanguageCollection.cs