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
- CustomAssemblyResolver.cs
- ServiceChannelManager.cs
- NativeRecognizer.cs
- BamlTreeNode.cs
- EntityViewGenerationConstants.cs
- OrderByLifter.cs
- DateTimeOffsetAdapter.cs
- ListComponentEditorPage.cs
- CommandBinding.cs
- DataListItem.cs
- DocumentPageViewAutomationPeer.cs
- StartUpEventArgs.cs
- ButtonDesigner.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- WmlPanelAdapter.cs
- SapiRecognizer.cs
- _NetworkingPerfCounters.cs
- TreeView.cs
- ActivitySurrogateSelector.cs
- DbReferenceCollection.cs
- DashStyles.cs
- _Win32.cs
- XsltContext.cs
- XmlSchemaFacet.cs
- HashCodeCombiner.cs
- XmlHierarchyData.cs
- ContextDataSourceView.cs
- SortFieldComparer.cs
- DefaultExpressionVisitor.cs
- TimelineClockCollection.cs
- ProcessModule.cs
- WebPartCollection.cs
- StyleModeStack.cs
- IntPtr.cs
- FileBasedResourceGroveler.cs
- HttpListener.cs
- BackgroundWorker.cs
- WindowsScrollBarBits.cs
- PriorityBinding.cs
- CategoryNameCollection.cs
- DataGridTable.cs
- BindingContext.cs
- Rectangle.cs
- XsdBuilder.cs
- HtmlElementCollection.cs
- RsaKeyIdentifierClause.cs
- TypeConverterAttribute.cs
- IisTraceListener.cs
- OdbcTransaction.cs
- Function.cs
- PairComparer.cs
- ThemeDirectoryCompiler.cs
- SpotLight.cs
- ResourcePart.cs
- DrawingDrawingContext.cs
- Line.cs
- XmlDataDocument.cs
- StatusBarItem.cs
- QueryOpcode.cs
- OLEDB_Enum.cs
- TraceEventCache.cs
- ListViewDeleteEventArgs.cs
- NetTcpBindingElement.cs
- TableSectionStyle.cs
- Literal.cs
- DataRowComparer.cs
- LinkTarget.cs
- BinaryMethodMessage.cs
- ToolStripPanelDesigner.cs
- ForceCopyBuildProvider.cs
- TrackBar.cs
- RegexReplacement.cs
- WindowsGraphics.cs
- BrushConverter.cs
- CustomAttributeSerializer.cs
- DesignerActionListCollection.cs
- WorkflowItemsPresenter.cs
- NativeCompoundFileAPIs.cs
- SystemIPAddressInformation.cs
- CopyEncoder.cs
- UserControl.cs
- ViewStateModeByIdAttribute.cs
- ReferenceService.cs
- SourceFilter.cs
- SubMenuStyle.cs
- MobileControlDesigner.cs
- ResXResourceWriter.cs
- WpfKnownMember.cs
- ByteStack.cs
- UpdatePanelTrigger.cs
- EncoderParameters.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- VisualStyleTypesAndProperties.cs
- ProxyHelper.cs
- NullExtension.cs
- RegexTypeEditor.cs
- ResponseBodyWriter.cs
- ReadOnlyTernaryTree.cs
- EasingFunctionBase.cs
- X500Name.cs