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
- HtmlWindowCollection.cs
- SubclassTypeValidatorAttribute.cs
- ToolStripPanelRow.cs
- BufferedGraphicsContext.cs
- NetworkAddressChange.cs
- MemberAccessException.cs
- CharEntityEncoderFallback.cs
- CodeExpressionStatement.cs
- TimelineGroup.cs
- SecurityHeaderLayout.cs
- AsyncOperation.cs
- WindowsIPAddress.cs
- Paragraph.cs
- TextProperties.cs
- ParallelActivityDesigner.cs
- BitmapEffectDrawingContent.cs
- SponsorHelper.cs
- Application.cs
- SchemaMapping.cs
- TabItemAutomationPeer.cs
- VirtualizingStackPanel.cs
- BitmapEffectInputData.cs
- NamespaceInfo.cs
- SpecularMaterial.cs
- NativeMethodsCLR.cs
- ModifiableIteratorCollection.cs
- PartialClassGenerationTaskInternal.cs
- ReverseInheritProperty.cs
- X509Chain.cs
- GenericUI.cs
- ComboBoxAutomationPeer.cs
- FileVersionInfo.cs
- FixedNode.cs
- FixedSOMPageConstructor.cs
- TypeNameConverter.cs
- LogFlushAsyncResult.cs
- WebControl.cs
- ColorConvertedBitmap.cs
- PropertyOverridesTypeEditor.cs
- ToolStripSystemRenderer.cs
- HeaderPanel.cs
- AutomationAttributeInfo.cs
- BackgroundFormatInfo.cs
- DefaultValueTypeConverter.cs
- LinkedDataMemberFieldEditor.cs
- XmlTextEncoder.cs
- ResourceType.cs
- HandleRef.cs
- ProcessHostFactoryHelper.cs
- ResXDataNode.cs
- FormViewCommandEventArgs.cs
- DBBindings.cs
- HTMLTagNameToTypeMapper.cs
- DataGridViewCellValidatingEventArgs.cs
- XPathParser.cs
- SchemaNames.cs
- SchemaNotation.cs
- SortedDictionary.cs
- UseManagedPresentationBindingElementImporter.cs
- HtmlLink.cs
- LoadedOrUnloadedOperation.cs
- Tuple.cs
- SqlServer2KCompatibilityAnnotation.cs
- ValueChangedEventManager.cs
- Ops.cs
- TogglePatternIdentifiers.cs
- Visual.cs
- TextWriterEngine.cs
- PropertyPath.cs
- DocumentPageView.cs
- LogEntryHeaderv1Deserializer.cs
- BidPrivateBase.cs
- ObjectComplexPropertyMapping.cs
- XmlSchemaExporter.cs
- NumericExpr.cs
- FullTextLine.cs
- ParameterInfo.cs
- SignatureHelper.cs
- SafeTimerHandle.cs
- HealthMonitoringSection.cs
- InstallerTypeAttribute.cs
- InputReferenceExpression.cs
- SubtreeProcessor.cs
- XmlILStorageConverter.cs
- WmlLabelAdapter.cs
- ActivityInstanceMap.cs
- ResourceContainer.cs
- DataGridViewCellPaintingEventArgs.cs
- DeobfuscatingStream.cs
- DataControlField.cs
- Char.cs
- Speller.cs
- WindowsToolbar.cs
- Odbc32.cs
- TagMapCollection.cs
- DataFieldCollectionEditor.cs
- DocumentGridPage.cs
- SerialStream.cs
- AnnotationDocumentPaginator.cs
- WebConfigurationFileMap.cs