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
- TagMapCollection.cs
- CodeSubDirectoriesCollection.cs
- ErrorsHelper.cs
- ChangeNode.cs
- CqlGenerator.cs
- InkCanvasSelectionAdorner.cs
- ToolBarTray.cs
- HtmlInputReset.cs
- ValueProviderWrapper.cs
- MembershipValidatePasswordEventArgs.cs
- EnumBuilder.cs
- ActivityInstanceMap.cs
- wgx_exports.cs
- EditorAttribute.cs
- CodeTypeMemberCollection.cs
- Triplet.cs
- InstanceData.cs
- DesignerActionKeyboardBehavior.cs
- InputMethodStateTypeInfo.cs
- SuppressMessageAttribute.cs
- HtmlAnchor.cs
- ImageCodecInfoPrivate.cs
- NumberAction.cs
- DataGridViewRowCollection.cs
- SqlInternalConnectionSmi.cs
- ItemsPresenter.cs
- SqlStatistics.cs
- TreeViewCancelEvent.cs
- SqlCharStream.cs
- ResXBuildProvider.cs
- Vertex.cs
- ISAPIApplicationHost.cs
- WindowsSlider.cs
- QilXmlReader.cs
- unsafenativemethodstextservices.cs
- ObjectDataSourceEventArgs.cs
- ListViewTableRow.cs
- BindStream.cs
- BaseParaClient.cs
- RawStylusActions.cs
- PropertyMetadata.cs
- CommonDialog.cs
- ResourcesChangeInfo.cs
- _Events.cs
- QueryOperatorEnumerator.cs
- ClickablePoint.cs
- SID.cs
- HttpListenerException.cs
- MonikerUtility.cs
- PathGeometry.cs
- formatter.cs
- NCryptNative.cs
- linebase.cs
- CloudCollection.cs
- AppDomainAttributes.cs
- MetadataWorkspace.cs
- UriTemplatePathSegment.cs
- MenuTracker.cs
- Annotation.cs
- SQLDateTime.cs
- GetWinFXPath.cs
- AsymmetricKeyExchangeFormatter.cs
- DBConnectionString.cs
- TreeViewCancelEvent.cs
- FileSystemWatcher.cs
- XPathAxisIterator.cs
- LabelLiteral.cs
- SelectionBorderGlyph.cs
- ReferencedAssembly.cs
- GetMemberBinder.cs
- RedistVersionInfo.cs
- SessionStateSection.cs
- PeoplePickerWrapper.cs
- Scalars.cs
- XamlStream.cs
- TreeNodeMouseHoverEvent.cs
- PropertyIDSet.cs
- uribuilder.cs
- RealizationDrawingContextWalker.cs
- SendMailErrorEventArgs.cs
- XmlSchemaDatatype.cs
- SqlDataSourceFilteringEventArgs.cs
- SystemIPv4InterfaceProperties.cs
- BitConverter.cs
- GraphicsPathIterator.cs
- PopupControlService.cs
- WebPartConnectionsCloseVerb.cs
- EncoderParameters.cs
- WebExceptionStatus.cs
- InheritanceRules.cs
- CookieParameter.cs
- BrushMappingModeValidation.cs
- HttpPostProtocolImporter.cs
- OdbcInfoMessageEvent.cs
- WebColorConverter.cs
- BinarySerializer.cs
- ScrollEvent.cs
- DeclarationUpdate.cs
- Soap.cs
- PointConverter.cs