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
- SubstitutionDesigner.cs
- MaterialGroup.cs
- AutomationElementIdentifiers.cs
- FixedFlowMap.cs
- BuilderPropertyEntry.cs
- BoolExpressionVisitors.cs
- SuppressMergeCheckAttribute.cs
- PageParserFilter.cs
- UrlAuthorizationModule.cs
- LightweightCodeGenerator.cs
- PublisherIdentityPermission.cs
- EdmRelationshipRoleAttribute.cs
- FormConverter.cs
- OracleDataAdapter.cs
- HttpContext.cs
- CachedFontFace.cs
- HttpClientCertificate.cs
- DesignerOptionService.cs
- ServiceManagerHandle.cs
- ScriptMethodAttribute.cs
- BufferedReadStream.cs
- UpdatePanel.cs
- LogSwitch.cs
- TableCellAutomationPeer.cs
- PropertyPathConverter.cs
- GroupBox.cs
- PixelFormat.cs
- VirtualPathExtension.cs
- AutomationIdentifierGuids.cs
- ConnectionInterfaceCollection.cs
- DataGridColumn.cs
- ValueProviderWrapper.cs
- _OverlappedAsyncResult.cs
- AnnotationAdorner.cs
- XmlWrappingReader.cs
- InternalCache.cs
- DbParameterCollectionHelper.cs
- NameValueConfigurationCollection.cs
- ModelUIElement3D.cs
- DefaultCommandConverter.cs
- FileSystemInfo.cs
- MemberHolder.cs
- MLangCodePageEncoding.cs
- WebBrowserEvent.cs
- DictionaryEntry.cs
- DocumentSequenceHighlightLayer.cs
- GraphicsPathIterator.cs
- WebPartDescription.cs
- ZipPackage.cs
- Predicate.cs
- SafeHandles.cs
- Group.cs
- DebugView.cs
- ExecutionTracker.cs
- ClientBuildManagerCallback.cs
- ViewgenGatekeeper.cs
- ControlBuilder.cs
- MainMenu.cs
- SiteMapSection.cs
- PathFigure.cs
- TransformerInfoCollection.cs
- NativeMethodsCLR.cs
- BinaryCommonClasses.cs
- ThemeableAttribute.cs
- InstanceNotFoundException.cs
- MenuTracker.cs
- WebPartMovingEventArgs.cs
- SkinBuilder.cs
- DataListItem.cs
- MutexSecurity.cs
- XmlMessageFormatter.cs
- LineSegment.cs
- Rect3D.cs
- HtmlContainerControl.cs
- DoubleStorage.cs
- FaultHandlingFilter.cs
- WeakReferenceEnumerator.cs
- DuplexChannelFactory.cs
- GroupBoxRenderer.cs
- HyperlinkAutomationPeer.cs
- CurrencyManager.cs
- GeneralTransform2DTo3D.cs
- TreeView.cs
- ListCollectionView.cs
- XmlSignificantWhitespace.cs
- IISUnsafeMethods.cs
- ClientConfigPaths.cs
- OdbcRowUpdatingEvent.cs
- versioninfo.cs
- DoubleAnimationBase.cs
- SqlDataSourceQueryConverter.cs
- VisualStyleTypesAndProperties.cs
- HandlerWithFactory.cs
- SelectionRangeConverter.cs
- OracleConnectionString.cs
- Style.cs
- JsonFormatWriterGenerator.cs
- MeasurementDCInfo.cs
- XPathBinder.cs
- GridSplitterAutomationPeer.cs