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
- SslStreamSecurityElement.cs
- ToolStripGripRenderEventArgs.cs
- RadioButton.cs
- HttpCapabilitiesEvaluator.cs
- DiscoveryReference.cs
- BindStream.cs
- WebScriptServiceHost.cs
- securitycriticaldataformultiplegetandset.cs
- EnumValAlphaComparer.cs
- _ScatterGatherBuffers.cs
- ReachPageContentSerializerAsync.cs
- ContractAdapter.cs
- GridViewSortEventArgs.cs
- InkCanvasAutomationPeer.cs
- COSERVERINFO.cs
- CreateUserErrorEventArgs.cs
- XmlHierarchicalDataSourceView.cs
- UnmanagedMemoryStreamWrapper.cs
- SqlBulkCopyColumnMappingCollection.cs
- MethodBuilder.cs
- recordstatescratchpad.cs
- SpoolingTask.cs
- ModifierKeysValueSerializer.cs
- AppSettingsExpressionEditor.cs
- LogRestartAreaEnumerator.cs
- ListViewSelectEventArgs.cs
- TextBox.cs
- ManagementBaseObject.cs
- CharConverter.cs
- TimeoutTimer.cs
- VisemeEventArgs.cs
- SimpleBitVector32.cs
- DelegatingTypeDescriptionProvider.cs
- PropertyEmitterBase.cs
- DeviceSpecific.cs
- ButtonPopupAdapter.cs
- XmlnsCompatibleWithAttribute.cs
- PasswordTextContainer.cs
- CalendarAutoFormatDialog.cs
- SafeNativeMethods.cs
- ClientConfigurationSystem.cs
- _Win32.cs
- AdPostCacheSubstitution.cs
- RbTree.cs
- DataGridParentRows.cs
- ValueUnavailableException.cs
- ClientSideQueueItem.cs
- Table.cs
- IListConverters.cs
- BooleanExpr.cs
- BindingNavigator.cs
- StatusBarAutomationPeer.cs
- StaticSiteMapProvider.cs
- AutomationElementIdentifiers.cs
- TemplateXamlTreeBuilder.cs
- ExternalException.cs
- ReadOnlyTernaryTree.cs
- basecomparevalidator.cs
- WaitHandle.cs
- FixedTextSelectionProcessor.cs
- GridViewRowCollection.cs
- Attributes.cs
- PrintPreviewDialog.cs
- OrderedDictionary.cs
- _FtpControlStream.cs
- StringCollectionEditor.cs
- BitmapFrameDecode.cs
- EntityClientCacheEntry.cs
- unsafenativemethodsother.cs
- VisualBasic.cs
- CodeAccessPermission.cs
- PreloadedPackages.cs
- Control.cs
- SmiXetterAccessMap.cs
- ForceCopyBuildProvider.cs
- EditorPart.cs
- TreeIterator.cs
- RegistryKey.cs
- ProcessInfo.cs
- PermissionSetEnumerator.cs
- WebPartHeaderCloseVerb.cs
- TextServicesDisplayAttribute.cs
- ControlLocalizer.cs
- MethodImplAttribute.cs
- DataGridDesigner.cs
- StandardBindingImporter.cs
- TemplateInstanceAttribute.cs
- IntPtr.cs
- NativeMethods.cs
- HwndStylusInputProvider.cs
- WindowsMenu.cs
- DebuggerAttributes.cs
- ResourceAssociationType.cs
- RightsManagementProvider.cs
- ItemContainerPattern.cs
- SqlDuplicator.cs
- SqlDataReader.cs
- DBConnectionString.cs
- HtmlProps.cs
- XamlPathDataSerializer.cs